1

私はしばらく探していましたが、解決策が見つからないようです。

NSData *receivedData に保持されている JSON オブジェクトをフォーマットしようとしています。

JSON の形式は次のとおりです。

[ { "名前":"スティーブン", "ニックネーム":"ボブ" }, { "名前":"ロブ", "ニックネーム":"マイク" }, { "名前":"アリア", "ニックネーム": "ジェーン" } ]

通常は、NSDictionary の「NSJSONSerialization JSONObjectWithData:」を使用します。次に、通常は JSON のルート (この場合は "People" のようなもの) を取得し、そのルート オブジェクトから配列を作成します。ただし、ご覧のとおり、この応答はルート オブジェクトを持たない単なる配列です。これを処理する方法がわかりません。最終的な目標は、JSON のデータが入力された Person オブジェクトの配列を作成することです。

編集:サードパーティのライブラリなしでネイティブのままにしたいことも付け加えたいと思います。

4

1 に答える 1

2

これを読んでいる人ならOK。私はちょうどそれを理解しました。最初の NSData を辞書にフォーマットする代わりに、それをそのまま配列に入れます。次に、配列内の各オブジェクトの辞書を作成します。そのようです:

NSArray *response = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
NSDictionary* json = [responseArray objectAtIndex:0];
NSLog (@"%@",[json objectForKey:@"nickname"]);
于 2013-06-15T23:23:36.440 に答える