json_encode没有双引号NULL;可可触摸不对称

时间:2013-10-12 19:28:37

标签: php sql objective-c json cocoa

我正在编写一个原生的iOS 7应用,需要从JSON api(我控制)中检索数据。示例JSON输出如下所示:

{
"id" : "544",
"name" : "1900 Green Gables",
"address" : "83 West Main Street",
"city" : "Milford",
"phone" : "(607) 547-1381",
"video_thumb" : null,
"thumbnail" : null,
"s_description" : null
}

我正在使用php的json_encode()转换从我的数据库查询返回的关联数组。在objective-c中,我使用NSJSONSerialization将JSON转换为NSMutableArray。问题是null值会转换为"<null>"。我怀疑这是因为json_encode()不是双引null值。为了保持一致性,我宁愿保留值null(在我的obj-c代码中检查值是否为"<null>"似乎不健壮)

我知道我可以通过重新调整json_encode()的输出来解决问题,但我宁愿避免额外的步骤而且我担心对性能的负面影响。我可以对PHP,Objective-C甚至SQL查询进行任何修改来解决这个问题吗?

1 个答案:

答案 0 :(得分:4)

<null>[NSNull null]的字符串描述,它是Cocoa集合中nil的占位符(不能直接包含nil)。

您应该将值与[NSNull null]进行比较:

if (dictFromJson[@"video_thumb"] != [NSNull null]) {
    // do stuff with video thumb here
}