我正在使用JSONKit
来解析JSON字符串,出于某种原因,当尝试将JSON字符串分配到NSDictionary
时,它返回null
JSONDecoder *jsonDecoder = [[JSONDecoder alloc] initWithParseOptions:JKParseOptionNone];
NSData *jsonData = [NSData dataWithBytes:[jsonString UTF8String] length:[jsonString length]];
NSDictionary *tempDict = [jsonDecoder objectWithData:jsonData];
jsonString
包含内容,tempDict等于NULL
谢谢!
答案 0 :(得分:2)
如果您想支持4.x,请不要使用NSJSONSerialization
。它仅在5.0中提供。
相反,你只需要使用JSONKit
,就像这样:
NSDictionary *tempDict = [jsonString objectFromJSONString];
您无需将JSON字符串转换为NSData即可将其序列化。
答案 1 :(得分:2)
我不确定,但您需要检查您的json是否是有效的json,为此您可以使用http://jsonlint.com/。我有时因为无效的json而面临这个类似的问题。希望这有帮助。
答案 2 :(得分:1)
为什么要使用jsonKit? iOS有一个非常好的JSONSerialization类......你可以像这样使用它:
NSData *returnData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSError *jsonParsingError = nil;
NSDictionary *returnDictionary = [NSJSONSerialization JSONObjectWithData:returnData options:0 error:&jsonParsingError];
if (!jsonParsingError) {
//Do your stuff here
}
祝你好运!
答案 3 :(得分:-1)
如何使用NSJSONSerialization?
NSData *data = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary * tempDict = [NSJSONSerialization JSONObjectWithData:data options:0 error:&jsonError];