轉(zhuǎn)載:
iOS開發(fā)-Xcode小插件-將Json直接轉(zhuǎn)成模型對(duì)應(yīng)屬性
首先感謝喵神@onevcat:http://weibo.com/onevcat?from=feed&loc=at&nick=onevcat&is_hot=1插件方面的輪子贞奋,感謝@MingleArch:http://weibo.com/u/5579192921?from=feed&loc=at&nick=MingleArch&is_hot=1的AS版的參考
ESJsonFormat-Xcode
將JSON格式化輸出為模型的屬性 個(gè)人活動(dòng)范圍>Weibo-EnjoySR:http://weibo.com/EnjoySR?is_all=1
寫在之前的注意
JSON中的key對(duì)應(yīng)的value為Null的話會(huì)格式化成NSString類型
格式化之前光標(biāo)放在你需要添加屬性的地方
如果不輸出到文件谱煤,RootClass需要自己手動(dòng)創(chuàng)建,插件只負(fù)責(zé)RootClass里面的屬性生成
生成的 MJExtension 框架中objectClassInArray方法(類方法)
方式1:下載-Xcode打開-Command+B-重啟Xcode
方式2:通過Alcatraz:http://alcatraz.io/安裝,搜索ESJsonFormat
方式3:下載-解壓plugin文件夾中zip到~/Library/Application Support/Developer/Shared/Xcode/Plug-ins-重啟Xcode
Window-ESJsonFormat-輸入Json-EnterOR快捷鍵(Control+Shift+J)-輸入JSON-Enter
關(guān)于設(shè)置:
打開方式:Xcode菜單-Window-ESJsonFormat-Setting
1)是否生成的 MJExtension 框架中objectClassInArray方法(類方法护赊,默認(rèn)勾選)
2)是否格式化輸出泛型(Xcode 7 及之后才有效,默認(rèn)勾選)
3)是否輸出到文件(如果勾選,不用自己新建 RootClass殖蚕。默認(rèn)不勾選)
4)key為id關(guān)鍵字的話是否大寫(默認(rèn)不勾選)
注:輸出到文件的內(nèi)容還需要添加什么的可以聯(lián)系我,人個(gè)認(rèn)為不用像 JSON Accelerator 一樣生成字典轉(zhuǎn)模型的方法以及@synthesize修飾符沉迹,建議使用->MJExtension:https://github.com/CoderMJLee/MJExtension睦疫,保型模型清爽干凈。
-0.1
通過JSON字符串生成對(duì)應(yīng)屬性
通過文件寫入的方式生成到.m文件
支持輸入嵌套模型名稱
-0.2
支持Swift
修復(fù)JSON的value的值為Null的時(shí)候多出來的空行
修復(fù)BOOL類型值格式化失效問題
-0.3
支持生成MJExtension框架中objectClassInArray方法
修復(fù)數(shù)組嵌套多級(jí)鞭呕,里面子數(shù)組不能格式化的Bug
-0.4
支持格式輸出到文件
支持格式輸出泛型(Xcode 7及之后)
支持Alcatraz:http://alcatraz.io/蛤育,請(qǐng)搜索ESJsonFormat
簡(jiǎn)單模型
復(fù)雜模型
圖中的JSON格式
{
"name": "王五",
"gender": "man",
"age": 15,
"height": "140cm"
}
{
"name": "王五",
"gender": "man",
"age": 15,
"height": "140cm",
"addr": {
"province": "fujian",
"city": "quanzhou",
"code": "300000"
},
"hobby": [
{
"name": "billiards",
"code": "1"
},
{
"name": "computerGame",
"code": "2"
}
]
}
如在使用過程中需要到問題,請(qǐng)你Issues我。
有什么好的想法也可以Issues我瓦糕。
如果你半夜睡不著覺也可以Issues我底洗。
原文作者:EnjoySR
原文地址:https://github.com/EnjoySR/ESJsonFormat-Xcode