gpt4 book ai didi

iphone - 如何检查我是否从 json 中得到 null?

转载 作者:技术小花猫 更新时间:2023-10-29 10:29:10 27 4
gpt4 key购买 nike

这里是我从JSON得到的

[{"照片":null}]

我用这个代码

NSMutableArray *jPhoto = [NSMutableArray arrayWithArray:(NSArray *)[jsonDict valueForKey:@"photo"]];

如果我想使用 if() 如何检查它?

编辑

这里是JSON数据

   [{"photo":
[{"image":"http:\/\/www.yohyeh.com\/upload\/shisetsu\/13157\/photo\/1304928459.jpg","title":"test picture","content":"this is description for test picture.\r\n\u8aac\u660e\u6587\u306a\u306e\u306b\u30fb\u30fb\u30fb\u30fb\u30fb\u30fb\u30fb\u30fb\u30fb\u30fb\u30fb\u30fb"}
,{"image":"http:\/\/www.yohyeh.com\/upload\/shisetsu\/13157\/photo\/1304928115.jpg","title":"nothing","content":"iMirai"}
,{"image":"http:\/\/www.yohyeh.com\/upload\/shisetsu\/13157\/photo\/1303276769.jpg","title":"iMirai","content":"Staff"}]}
]

这是我的 JSON 解析器

NSError *theError = nil;     
NSString *URL = [NSString stringWithFormat:@"http://www.yohyeh.com/apps/get_sub_detail.php?id=%@&menu=photo",g_id];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:URL]];
NSURLResponse *theResponse =[[[NSURLResponse alloc]init] autorelease];
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&theResponse error:&theError];
NSMutableString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

NSDictionary *jsonDict = [string JSONValue];

感谢帮助

最佳答案

我相信大多数 JSON 解析器将 null 表示为 [NSNull null]

考虑到 jsonDict 指向数组中的那个单个元素,那么下面应该可以工作:

if ([jsonDict objectForKey:@"photo"] == [NSNull null]) {
// it's null
}

根据评论进行编辑: 所以 jsonDict,尽管它的名字是一个数组。在这种情况下,将 jsonDict 重命名为 jsonArray 以避免进一步混淆。然后,考虑 jsonArray 指向类似于问题中发布的示例的数组:

NSArray *photos = [jsonArray valueForKey:@"photo"];
for (id photo in photos) {
if (photo == [NSNull null]) {
// photo is null
}
else {
// photo isn't null
}
}

根据OP修改后的问题进一步编辑:

NSArray *jsonArray = [string JSONValue];

NSArray *photos = [jsonArray valueForKey:@"photo"];
for (id photo in photos) {
if (photo == [NSNull null]) {
// photo is null
}
else {
// photo isn't null. It's an array
NSArray *innerPhotos = photo;

}
}

关于iphone - 如何检查我是否从 json 中得到 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6053603/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com