我正在编写一个原生的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查询进行任何修改来解决这个问题吗?
答案 0 :(得分:4)
<null>
是[NSNull null]
的字符串描述,它是Cocoa集合中nil
的占位符(不能直接包含nil
)。
您应该将值与[NSNull null]
进行比较:
if (dictFromJson[@"video_thumb"] != [NSNull null]) {
// do stuff with video thumb here
}