NSDictionary填充了JSON数据

时间:2012-07-02 09:07:44

标签: ios jsonkit

我调用一个返回JSON的URL(我使用JSONKit)。我将它转换为这样的NSString:

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

等等。我想用只有JSON的“名称”部分来填充UIPickerView。但是,当用户选择一个名称时,我需要“id”参数,所以我想用JSON填充一个NSDictionary(setValue:id为key:name),这样我就可以得到用户选择的值,并从字典中获取id。我怎么能只用JSON的“名字”填充一个数组?

我对JSONKit库有点失落,有什么指导吗?谢谢。

1 个答案:

答案 0 :(得分: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
}