5
{"User":{"id":"42","name":"martin"}}

NSData を NSString に変換すると、完全に有効に見えるこの JSON が返されますが、メソッドは次のとおりです。

[NSJSONSerialization isValidJSONObject:data]

これは有効な JSON オブジェクトではないと言っています。

誰かが私が犯した間違いを指摘したり、これが起こっている理由を考えたりできますか?

4

1 に答える 1

9

たとえば、文字列に印刷できない文字があり、データが無効になっているに違いありません。

変数を宣言し、メソッドを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
于 2013-04-16T19:07:49.817 に答える