1

我有一个数据类如下

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

我想将此对象转换为

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

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

4

1 回答 1

1

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

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

在您的示例中,这将需要创建一个像这样的字典:

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

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

于 2013-11-09T06:26:31.863 回答