所以我的JSON请求应该类似于:
{
"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方法中。但我想知道是否有更好的方法来做到这一点?感谢。
答案 0 :(得分:0)
也许这可以帮助JLCustomClassDisassembler。
它迭代自定义对象以获取属性。这将为您提供字典/数组,然后使用sbjson / jsonkit或者您更喜欢构建json字符串。
答案 1 :(得分:-3)
要实现这一点,你需要创建自己的带有属性的自定义NSObject类,并且仍然有一个自定义方法来序列化对象,类似于toString在java上运行的方式,在Objective-C上你需要实现< / p>
- (NSString *)description
在您的方法上,然后返回序列化对象。
在这个方法上你可以读取当前对象的所有属性,然后以某种方式序列化它们,这个线程提供了一个很好的示例代码来读取某个对象的所有属性