2

ホームコントロールデバイスからJSON応答を要求します。

NSData* responseData = [NSData dataWithContentsOfURL:url];

のJSONデータresponseDataは完全で有効です。しかし、私が試してみると

NSDictionary* dict = [NSJSONSerialization 
                          JSONObjectWithData:responseData                          
                          options:kNilOptions 
                          error:&error];
NSLog("Error: %@", error);

次のエラーが発生します。

エラー:エラーDomain = NSCocoaErrorDomain Code = 3840 "操作を完了できませんでした。(Cocoaエラー3840。)"(文字0の周りのオブジェクトのキーが重複しています。)UserInfo = 0x6a8b8e0{NSDebugDescription=文字0の周りのオブジェクトのキーが重複しています。}

Webを検索しましたが、これまでのところ役立つものは見つかりませんでした。


編集:JSON応答はかなり長いので、ここに投稿する代わりに、ここで見つけてください

4

3 に答える 3

0

JSONをhttp://jsonformat.com/に貼り付けると、問題がないように見えます。Appleのバグを見つけたのではないでしょうか。検証を試みる別の方法は、サードパーティのiOSライブラリを使用して、同じエラーが発生するかどうかを確認することです。言う、TouchJSON

于 2012-03-25T10:40:42.430 に答える
0

同じエラーが発生しますが、アプリの実行時にランダムに発生します。NSJSONSerializationが失敗した場合、JSONビューアーを使用してjsonオブジェクトをチェックしました。JSONは常にOKです。NSJSONSerializationが数回呼び出されたときのバグ?

于 2012-06-13T11:19:43.970 に答える
0

同じエラーが発生しました。私のJSONデータはhttp://jsonformatter.curiousconcept.com/のJSONバリデーターを通過しました。ただし、JSON(辞書の最後)に重複するキーが2つ見つかりました。これらのキーを削除した後、NSJSONSerializationはスムーズに機能します。

于 2012-12-01T06:20:24.757 に答える