Ale*_*lex 5 iphone json web-services nsdata ios
{"User":{"id":"42","name":"martin"}}
Run Code Online (Sandbox Code Playgroud)
将我的NSData转换为NSString会返回此JSON,这似乎完全有效,但方法如下:
[NSJSONSerialization isValidJSONObject:data]
Run Code Online (Sandbox Code Playgroud)
说这不是一个有效的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
Run Code Online (Sandbox Code Playgroud)