【发布时间】:2012-05-17 21:43:04
【问题描述】:
我想对我自己的自定义类进行 JSON 序列化。我在 Objective-C / iOS5 中工作。 我想做以下事情:
Person* person = [self getPerson ]; // Any custom object, NOT based on NSDictionary
NSString* jsonRepresentation = [JsonWriter stringWithObject:person ];
Person* clone = [JsonReader objectFromJson: jsonRepresentation withClass:[Person Class]];
似乎 NSJSONSerialization(和其他几个库)要求“人”类基于 NSDictionary 等。我想要一些可以序列化我想要定义的任何自定义对象的东西(在合理范围内)。
让我们想象一下 Person.h 看起来像这样:
#import <Foundation/Foundation.h>
@interface Person : NSObject
@property NSString* firstname;
@property NSString* surname;
@end
我希望为实例生成的 JSON 类似于以下内容:
{"firstname":"Jenson","surname":"Button"}
我的应用使用 ARC。我需要一些可以使用对象进行序列化和反序列化的东西。
非常感谢。
【问题讨论】:
-
如果你能得到属性列表,你可以迭代它们调用 valueForKey: 方法来获取它的内容并填写一个字典......看起来你可以用 class_copyPropertyList()和其他一些奇怪的方法。这可能会有所帮助:stackoverflow.com/questions/754824/… 祝你好运!
-
这个链接可以帮助你.....http://stackoverflow.com/a/29095726/3177007
标签: objective-c ios json serialization nsobject