【object c】Objective C中xml到json的轉換(二)
之前發過一篇博文是說把xml格式轉換為json的,參見博文:()它的做法是先將xml轉換為NSDictionary,然後再將字典序列化為json,這樣只適合將xml原封不動轉換為json的場合,如果最後要轉換的json和原始的xml有一些區別(例如,json中欄位名稱與xml中有不一致,例如xml中屬性名稱採取的命名規則是單詞中加下劃線,json中採取駝峰命名法,或者xml中一些冗餘屬性需要去掉,或者json中要新增某些屬性,這些屬性值根據xml中相關屬性值計算而來),這些區別下,就不再適合這麼做了,因為對字典進行操作則非常困難。針對這種情況,這裡介紹另外一種方法,即先仍然將xml轉換為原始的NSDictionary,第二步,遍歷NSDictionary,拼湊出一個Object,然後利用github上開源的jsonModel的方法,將物件序列化為json字串。
關於jsonModel,可以從(https://github.com/icanzilb/JSONModel)獲取。
以下參考:http://www.touch-code-magazine.com/JSONModel/
例如,你獲得瞭如下的json資訊:
很容易為這個json建立model。首先為copyright model建立成如下:
然後,定義對映的model,它包含了上面的copyright model,
最後,只要呼叫toJSONString方法即可方便的將物件轉換為json字串 。
關於jsonModel,可以從(https://github.com/icanzilb/JSONModel)獲取。
以下參考:http://www.touch-code-magazine.com/JSONModel/
例如,你獲得瞭如下的json資訊:
{
"idImage": 1,
"name": "house.jpg",
"copyright": {"author":"Marin Todorov", "year":2012}
}
很容易為這個json建立model。首先為copyright model建立成如下:
@interface CopyModel: JSONModel
@property (strong, nonatomic) NSString* author;
@property (assign, nonatomic) int year;
@end
然後,定義對映的model,它包含了上面的copyright model,
#import "CopyModel.h"
@interface ImageModel: JSONModel
@property (assign, nonatomic) int idImage;
@property (strong, nonatomic) NSString* name;
@property (strong, nonatomic) CopyModel* copyright;
@end
最後,只要呼叫toJSONString方法即可方便的將物件轉換為json字串 。
相關文章
- [Object C]object c中完成將xml轉換為jsonObjectXMLJSON
- C#中JSON轉換類C#JSON
- Object-C中emoji與json的問題ObjectJSON
- C# json to dynamic objectC#JSONObject
- Objective-C中的訊息轉發Object
- 從 C++ 到 Objective-C 的快速指南C++Object
- object-c中NSString與int和float的相互轉換Object
- 從Objective-C到SwiftObjectSwift
- Objective-C中的CopyObject
- Objective-C中的@dynamicObject
- Objective-C中的BlockObjectBloC
- 在 AngularJS 中將 XML 轉換為 JSONAngularXMLJSON
- 用C#把檔案轉換為XML(轉)C#XML
- (轉)Objective-C 拾遺:從Heap and Stack到BlockObjectBloC
- C#中JSON字串和Dictionary字典型別的相互轉換C#JSON字串型別
- Eclipse安裝GSON,使用GSON轉換Java Object到JSONEclipseJavaObjectJSON
- Objective-C 中的NSLogObject
- xStream完美轉換XML、JSONXMLJSON
- Json轉換(二)JSON
- C語言,實現數字譜到簡譜的轉換(二)C語言
- J2ObjC - 谷歌的Java轉Objective-C的程式碼轉換工具谷歌JavaObject
- Objective-C Runtime (二):方法與訊息轉發Object
- 關於Objective-C中的importObjectImport
- Objective-C中的單例模式Object單例模式
- Objective-C中的Block(閉包)ObjectBloC
- C# 操作xml(轉)C#XML
- Effective Object C 2.0 『熟悉Object C』Object
- JSON.NET框架實現C#物件和JSON字串的轉換JSON框架C#物件字串
- 如何在Objective C中宣告Block?ObjectBloC
- Gson轉換 — json資料轉換為Object實體公共方法JSONObject
- Oracle Database 19c 中的 JSON_OBJECT 函式的增強功能OracleDatabaseJSONObject函式
- Swift學習: 從 Objective-C 到 SwiftSwiftObject
- 談談Objective-C中的協議Object協議
- Objective-C中的self和super理解Object
- 詳解 Objective-C 中的 RuntimeObject
- Objective-C中的Block回撥模式ObjectBloC模式
- Objective-C中的@property和@synthesize用法Object
- objective-c @()Object