2011-03-17 8 views
0

JSONフィードを辞書に逆シリアル化します。各辞書項目は、3つのプロパティを持つオブジェクトです。それからNSDictionaryの内容をNSArrayに転送

self.array = [JSONdict allvalues]; 

を使用してNSArrayのにコンテンツを転送したいが、それは最初の配列項目に全体辞書を置きます。どこが間違っていますか?

ありがとうございます。

+0

コンソール/コードの出力はどうしますか?あなたはそれが「辞書全体を最初の配列アイテムに置く」ことをどのように知っていますか? – occulus

+0

「辞書項目」とはどういう意味ですか?辞書エントリは、キーから値へのマッピングです。 'item'とは、辞書の値を意味しますか? – occulus

+0

はい、申し訳ありませんが、私は辞書の値を意味します。私は辞書の内容を記録しましたが、このように出てくる: – Fabbers

答えて

1

私は何が間違っていたのか分かりました。私は辞書の階層で1レベル上に移動し、その中の値ではなく辞書自体を割り当てなければなりませんでした。これはうまくいく:

self.array = [JSONdict valueForKey:@"members"]; 

ありがとうコメントと答え。適切な条件を使用しないことについてのご謝謝 - 私の背景は.Net

0

NSDictionaryインスタンスJSONdictを確認してください。

明確に記載されたドキュメントを読んでください。

Returns a new array containing the dictionary’s values. 

- (NSArray *)allValues 
Return Value 
A new array containing the dictionary’s values, or an empty array if the dictionary has no entries. 
0

データの使い方についてはわかりません。

しかし、値を異なる配列の属性ごとにグループ化する場合は、SBJSON Parser(またはその場合は既存のJSON Parser)を使用してJSONフィードを解析または逆シリアル化することができます:

NSDictionary *myDict = [JSONFeed JSONValue]; 
NSMutableArray *DispName = [myDict valueForKey:@"DisplayName"]; 
NSMutableArray *IDArray = [myDict valueForKey:@"ID"]; 
NSMutableArray *URLArray = [myDict valueForKey:@"URL"]; 

希望します。

関連する問題