@import url(http://www.shnenglu.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); 這里大概有終極解決方案,jsonRPC,幾乎涵蓋了當(dāng)前所有的主流語(yǔ)言.
http://json-rpc.org/wiki/implementations

json的頻繁使用已經(jīng)不是什么新話(huà)題了。json的自動(dòng)化做得貌似非常零散。
一開(kāi)始我總在想需要自己寫(xiě)個(gè)pearl腳本來(lái)實(shí)現(xiàn)自動(dòng)化,現(xiàn)在看來(lái)應(yīng)該是不必了。
這里總結(jié)java/c++/object-c自動(dòng)化工具,可以利用json數(shù)據(jù)自動(dòng)生成類(lèi)的代碼。

你需要做什么?
找一個(gè)返回json數(shù)據(jù)的網(wǎng)址,用這些工具去生成你的代碼,每個(gè)工具怎么用就請(qǐng)你自己慢慢研究了。我都試過(guò)的

json數(shù)據(jù)生成object-c代碼的工具:
http://www.open-open.com/lib/view/open1347433841897.html
非常感謝作者zhangxi。編譯之后生成工具AutomaticCoder

 MJExtension工具提供了將字典直接映射到對(duì)象上的功能,為了簡(jiǎn)便使用,讓所有AutomaticCoder生成的代碼繼承自這個(gè)類(lèi):

//定義
@interface CodecNSObject : NSObject
+(instancetype)codecToInstance:(NSDictionary*)dic;
@end
@implementation CodecNSObject
//實(shí)現(xiàn)
+(instancetype)codecToInstance:(NSDictionary*)dic
{
    return [self.class objectWithKeyValues:[dic copy]];
}
@end
所有繼承這個(gè)類(lèi)的子類(lèi)(比如Model)都可以直接使用 Model *model = [Model codecToInstance:aNSDictionary];生成實(shí)例

json生成C#的也在這里:http://jsonpack.com/

json生成java代碼的工具:
http://jsongen.byingtondesign.com/

C++的工具很讓我找得累啊,比較好的都是國(guó)外的,
rapidjson:https://code.google.com/p/rapidjson/


這個(gè)工具依賴(lài)于:premake4,需要單獨(dú)下載,它的說(shuō)明里面有。

編譯工作比較麻煩,碰到錯(cuò)誤:
fatal error: 'tr1/tuple' file not found
的時(shí)候,給make 加個(gè)參數(shù):

make -f test.make CPPFLAGS=-DGTEST_USE_OWN_TR1_TUPLE=1 
這個(gè)工具太折騰,建議去www.google.com.im 搜索json C++ class generator


有個(gè)朋友問(wèn)我windows的REST SDK如何自動(dòng)分析json,我著了一下,這個(gè)鏈接還算可以,追加到文章里來(lái):

http://msdn.microsoft.com/zh-cn/library/jj950082.aspx
不過(guò)我始終覺(jué)得C++沒(méi)有足夠的動(dòng)態(tài)語(yǔ)言特性來(lái)達(dá)到自動(dòng)化的目的,object-c里面提供了KVO機(jī)制來(lái)直接映射結(jié)果,相比C++要稍微便捷一點(diǎn)。不過(guò)從語(yǔ)言的開(kāi)發(fā)能力來(lái)講,我還是覺(jué)得C++比較強(qiáng),雖然最近我在做Object-c的開(kāi)發(fā)。