2012-04-23 13 views
0

私のJSONレスポンスはiOSの - にNSArrayにネストされたNSDictionaries

[{"id":"1", "x":"1", "y":"2"},{"id":2, "x":"2", "y":"4"}] 

であると私はjsonObjectはどのようにすることができます2 NSDictionaryの.. を持つ配列であると信じている。この時点で

NSString *response = [request responseString]; 
SBJSON *parser = [[SBJSON alloc] init]; 
NSArray *jsonObject = [parser objectWithString:response error:nil]; 

をしましたNSDictionaryの代わりに2つのNSArrayを持つjsonObjectを作成しますか? これを行う最善の方法は何ですか?私は入れ子になったNSDictionaryをNSArrayに変換する必要があると思いますか?

+0

への辞書からの直接的な変換はありません

NSError *e; NSArray *jsonObject = [NSJSONSerialization JSONObjectWithData:data options:0 error:&e]; for (NSDictionary *dict in jsonObject) { NSLog(@"json data:\n %@", dict); // do stuff } 

代わりに、次のような変更可能なコンテナを、返すことができます配列 - 異なる意味を持つ異なるデータ構造です。コンバージョンをどのようにするかを定義する必要があります。また、コンバージョンを達成するために何らかの意味(例:注文)を追加/削除したり、 –

答えて

1

私は今NSJSONSerializationクラスをFoundationフレームワークで使用します。

JSONObjectWithDataメソッドを使用すると、データを最上位に保存するコンテナのタイプが返されます。例:ここでは

NSMutableDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:&e]; 

アップルのドキュメントは次のとおりです:

NSJSONSerialization

関連する問題