如何将Objective C类转换为JSON对象?

时间:2013-11-09 06:16:47

标签: objective-c

我有一个数据类如下

Class1 *obj = [[Class1 alloc] init];
obj.One=@"1";
obj.Two=@"2";
obj.Three=@"3";

我想将此对象转换为

{"One":"1","Two":"2","Three":"3"}

我如何在Objective C中做到这一点?

1 个答案:

答案 0 :(得分:1)

您必须为类编写一个实例方法来序列化数据(即:将成员变量转换为有效的JSON数据),您可能需要另一种方法将JSON数据解析回类中。

如果您想知道某个地方是否有标准方法可以为您执行此操作,则简短答案为否 - 由于类成员变量可以是任何对象类型,因此必须先将它们转换为有效的JSON数据类型。 (字符串,数字,布尔值,数组或字典)

在您的示例中,这需要创建如下字典:

NSDictionary *dictionary = @{@"One" : obj.One, @"Two" : obj.Two, @"Three" : obj.Three};

然后,您需要使用NSJSONSerialization class将NSDictionary转换为有效的JSON字符串。