我调用一个返回 JSON 的 URL(我使用 JSONKit)。我将其转换为 NSString,如下所示:
[{"name":"aaaaaa","id":41},{"name":"as","id":23},...
等等。我想仅使用 JSON 的“名称”部分填充 UIPickerView。但是,当用户选择一个名称时,我需要“id”参数,所以我想用 JSON 填充 NSDictionary (setValue:id for key:name),这样我就可以获得用户选择的值,并从字典中获取 id。如何仅使用 JSON 的“名称”填充数组?
我对 JSONKit 库有点迷失,有什么指导吗?谢谢。
最佳答案
首先,我认为将 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
}
关于ios - NSDictionary 填充 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11290718/