我有一个数据类如下
Class1 *obj = [[Class1 alloc] init];
obj.One=@"1";
obj.Two=@"2";
obj.Three=@"3";
我想将此对象转换为
{"One":"1","Two":"2","Three":"3"}
我如何在Objective C中做到这一点?
答案 0 :(得分:1)
您必须为类编写一个实例方法来序列化数据(即:将成员变量转换为有效的JSON数据),您可能需要另一种方法将JSON数据解析回类中。
如果您想知道某个地方是否有标准方法可以为您执行此操作,则简短答案为否 - 由于类成员变量可以是任何对象类型,因此必须先将它们转换为有效的JSON数据类型。 (字符串,数字,布尔值,数组或字典)
在您的示例中,这需要创建如下字典:
NSDictionary *dictionary = @{@"One" : obj.One, @"Two" : obj.Two, @"Three" : obj.Three};
然后,您需要使用NSJSONSerialization class将NSDictionary转换为有效的JSON字符串。