将返回的数据传递到数组,iOS

时间:2012-06-15 10:13:05

标签: iphone ios arrays ipad

我正在使用JSON并在解析时,我将返回值作为

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

我希望在某个数组中包含'name',以便我可以在选择器视图中显示名称。

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

3 个答案:

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

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

答案 1 :(得分:0)

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

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

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

https://github.com/johnezang/JSONKit

和SBJSON(a.k.a.JSON框架):

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

希望这有帮助。

答案 2 :(得分:0)

jsonArray = [{" id":" 2"," name":" a"},{" id& #34;:" 3""名称":" b"},  {" id":" 104"," name":" c"},{" id":&# 34; 4""名称":" 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];
    }
}

工作正常。