isValidJSONObject无法按预期工作
经过测试后,我只能[NSJSONSerialization
isValidJSONObject:]对已经解析过的JSON数据返回一个肯定值[NSJSONSerialization
JSONObjectWithData:options:error:]。
根据官方文件:
isValidJSONObject返回一个布尔值,该布尔值指示是否可以将给定对象转换为JSON数据。
但是,尽管事实是我尝试将其从JSON转换为NSDictionary的对象都可以正常转换,但仍会isValidJSONObject
返回NO
。
这是我的代码:
NSURL * url=[NSURL URLWithString:urlString];NSData * data=[NSData dataWithContentsOfURL:url];
NSError * error=[[NSError alloc] init];
NSMutableDictionary * dict=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];
if([NSJSONSerialization isValidJSONObject:data]){
NSLog(@"data is JSON");
}else{
NSLog(@"data is not JSON");
}
if([NSJSONSerialization isValidJSONObject:dict]){
NSLog(@"dict is JSON");
}else{
NSLog(@"dict is not JSON");
}
NSLog(@"%@",dict);
我的日志包含以下内容:
data is not JSONdict is JSON
然后是dict的输出,这是一个巨大的NSMutableDictionary对象。运行此代码时不会产生任何错误,但在上运行时isValidJSONObject
似乎返回错误的值data
。
我怎样才能isValidJSONObject
按预期工作?
回答:
isValidJSONObject
测试 JSON对象 (a NSDictionary
或NSArray
)是否可以成功转换为 JSON数据
。
它不是用于测试NSData
对象是否包含有效的 JSON数据 。要测试有效的JSON数据,您只需调用
[NSJSONSerialization JSONObjectWithData:data ...]
并检查返回值是否为nil
。
以上是 isValidJSONObject无法按预期工作 的全部内容, 来源链接: utcz.com/qa/431735.html