我正在尝试将字符串转换为json对象,并且不确定为什么这不起作用。当我输出nslog时,我被告知urldata对于json序列化无效,但是当查看字符串时,它看起来像有效的json。我也尝试将其编码为utf8,但它仍然不会序列化。我在这里错过了什么吗? - 注意帖子中省略了不必要的代码。
获取请求
urlData = [NSURLConnection sendSynchronousRequest:urlRequest
returningResponse:&response
error:&error];
NSDictionary *tempDict = [NSDictionary alloc];
解析
if ([NSJSONSerialization isValidJSONObject:urlData] ) {
NSLog(@"is valid");
tempDict = [NSJSONSerialization JSONObjectWithData:urlData kniloptions error:&error];
}
NSLog(@"is not valid");
定义: isValidJSONObject: 返回一个布尔值,指示是否可以将给定对象转换为JSON数据。
答案 0 :(得分:4)
正如您在问题中已经提到的那样,isValidJSONObject
返回一个布尔值,指示给定对象是否可以 将转换为 JSON数据
在您的情况下,您不想创建JSON数据,而是使用JSON数据创建字典。 :
tempDict = [NSJSONSerialization JSONObjectWithData:urlData
options:NSJSONReadingMutableContainers
error:&error];
if (!tempDict) {
NSLog(@"Error parsing JSON: %@", error);
}