2013-01-22 34 views
2

所以我的JSON请求应该是这个样子的值:序列化的自定义对象为使用NSJSONSerialization

{ 
    "MyDictionary" : ["some values"], 
    "RegularValue" : "regularValue", 
} 

所以我目前所做的是:

NSDictionary *myDict = @{@"Blah" : @"1", @"Yadayada" : @"2"}; 
NSDictionary *jsonDict = @{"MyDictionary" : myDict, "RegularValue" : "someValue"}; 
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:jsonDict options:kNilOptions error:&error]; 

所以这个工作得很好。我的问题是,而不是手动创建MyDictionary,我想要做的是使用NSObject的自定义sublcass并将其序列化为JSON。我基本上必须为我的自定义NSObject的属性手动创建NSDictionary,并将其放入NSJSONSerialization方法中。但我想知道是否有更好的方法来做到这一点?谢谢。

回答

-3

为了达到这个目的,你需要创建你自己的具有属性和更多属性的自定义NSObject类,并且仍然有一个自定义方法来序列化对象,类似于toString在java上的工作方式,你需要实现Objective-C

- (NSString *)description 

你的方法然后返回序列化的对象。

这种方法,你可以读取当前对象的所有属性,然后以某种方式它们序列

,这个线程提出了一个很好的示例代码也许可以阅读某个对象

Get an object properties list in Objective-C

0

的所有属性这可以帮助JLCustomClassDisassembler

它迭代自定义对象以获取属性。这会给你字典/数组,然后只使用sbjson/jsonkit或者你更喜欢构建你的json字符串。

相关问题