{"User":{"id":"42","name":"martin"}}
将我的 NSData 转换为 NSString 会返回这个似乎完全有效的 JSON,但是方法:
[NSJSONSerialization isValidJSONObject:data]
说这不是一个有效的 JSON 对象。
谁能指出我犯的错误或想到发生这种情况的原因?
{"User":{"id":"42","name":"martin"}}
将我的 NSData 转换为 NSString 会返回这个似乎完全有效的 JSON,但是方法:
[NSJSONSerialization isValidJSONObject:data]
说这不是一个有效的 JSON 对象。
谁能指出我犯的错误或想到发生这种情况的原因?
我敢打赌,您的字符串中有一个不可打印的字符,例如,使数据无效。
声明一个NSError* error
变量,然后调用[NSJSONSerialization JSONObjectWithData:data options:0 error:&error]
方法来尝试转换 JSON:显然,如果您的数据被认为是无效的,它将返回nil
,但至少您将在此NSError* error
之后对变量中的错误进行描述。
NSData* data = ... // your data
NSError* error = nil; // Declare a variable to hold the error upon return
id obj = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error]; // Try to convert your data
NSLog(@"obj: %@ ; error: %@", error); // Log the decoded object, and the error if any