0

JSONを返すURLを呼び出します(JSONKitを使用します)。私はそれを次のようにNSStringに変換します:

[{"name":"aaaaaa","id":41},{"name":"as","id":23},...

等々。JSONの「名前」部分のみをUIPickerViewに入力したいと思います。しかし、ユーザーが名前を選択するときは、「id」パラメーターが必要なので、NSDictionaryにJSON(key:nameの場合はsetValue:id)を入力して、ユーザーが選択した値を取得できるようにすることを考えました。辞書からIDを取得します。JSONの「名前」だけで配列を埋めるにはどうすればよいですか?

JSONKitライブラリで少し迷っていますが、ガイダンスはありますか?ありがとうございました。

4

1 に答える 1

1

まず第一に、name同じ名前をたくさん持つことができるので、辞書のキーとして持つのは良い考えではないと思います。私は鍵として行きidます。

今、あなたができることは次のとおりです。

NSString *myJson; //Suppose that this is the json you have fetched from the url
id jsonObject = [myJson objectFromJSONString];
// Now you have an array of dictionaries 
// each one having 2 key/value pairs (name/id)

NSArray *names = [jsonObject valueForKeyPath:@"name"];
NSArray *ids = [jsonObject valueForKeyPath:@"id"];

// Now you have two parallel arrays with names / ids

または、jsonオブジェクトを繰り返し処理して、データを自分で処理することもできます。

for (id obj in jsonObject)
{
  NSString *name = [obj valueForKey:@"name"];
  NSNumber *id = [obj valueForKey:@"id"];
  // Do whatever you like with these
}
于 2012-07-02T09:22:40.510 に答える