1

我正在使用 JSON,在解析时,我得到的返回值是

> [{"id":"2","name":"a"}, {"id":"3","name":"b"},
> {"id":"104","name":"c"}, {"id":"4","name":"d"}]

我想在某个数组中包含“名称”,以便我可以在选择器视图中显示名称。

从数组到pickerview,我可以执行,但是在检索名称的值并将其放入数组时遇到问题。

4

3 回答 3

1
jsonArray = [{"id":"2","name":"a"}, {"id":"3","name":"b"},
 {"id":"104","name":"c"}, {"id":"4","name":"d"}]

NSMutableArray *nameArray = [[NSMutableArray alloc] initWithCapacity:0];

for(NSMutableDictionary *dict in jsonArray){
   NSString *str =  [dict objectForKey:@"name"];
   if(str){      
         [nameArray addObject:str];
    }
}

这是你的名字数组......希望这会对你有所帮助

于 2012-06-15T10:21:35.683 回答
0

您将需要某种 JSON 解析器库,它可以从 JSON 字符串中生成离散数据集合类型(例如,NSDictionary 或 NSArray)。我写了一个我喜欢的库:

https://github.com/H2CO3/CarbonateJSON/

还有很多较旧且可能更好的解决方案;考虑 JSONKit:

https://github.com/johnezang/JSONKit

和 SBJSON(又名 JSON 框架):

https://github.com/stig/json-framework

希望这可以帮助。

于 2012-06-15T10:17:23.377 回答
0

jsonArray = [{"id":"2","name":"a"}, {"id":"3","name":"b"}, {"id":"104","name ":"c"}, {"id":"4","name":"d"}]

NSMutableArray *nameArray = [[NSMutableArray alloc] init];

for(int i=0;i<jsonarray.count;i++){
   if([[jsonArray objeactAtIndex:i] objectForKey:@"name"])
   {
          NSString *str =[[jsonArray objeactAtIndex:i] 
          objectForKey:@"name"];
         [nameArray addObject:str];
    }
}

它工作正常。

于 2016-09-21T06:37:49.760 回答