【问题标题】:Passing returned data into array,iOS将返回的数据传递到数组中,iOS
【发布时间】:2012-06-15 10:13:05
【问题描述】:

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

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

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

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

【问题讨论】:

  • I m using JSON and while parsing, i m getting the returned value as 我不太明白?你是怎么解析的?作为解析术语,解析后应该有一个NSArray 对象,其中填充有NSDictionary 对象,键为idname,您可以从中获取值...
  • 参考这篇 stackoverflow 帖子:[JSON Parse][1] 希望这会对你有所帮助[1]:stackoverflow.com/questions/8890808/…

标签: iphone ios arrays ipad


【解决方案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];
    }
}

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

【讨论】:

  • 你先把返回的 json 值放入 jsonArray 中?如何
  • JSON 数组与您的 json 值相同...您的 json 值是一个包含 4 个键的数组...我希望您理解并且我只返回该数组中的名称值...您需要一样吧??
  • NSMutableArray *jsonList ......这和 jsonarray 一样。明白了。这行得通....谢谢 Abhishek。正是我在尝试的。
  • 你好,Abhishek,我们可以把整个事情都放在字典里吗?这样,当将名称放入pickerview和onselect时,我也可以拥有ID?
  • 我不能投票,直到我 15 岁......我会提醒我......当然。一旦我超过 15 我会投票。
【解决方案2】:

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

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

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

https://github.com/johnezang/JSONKit

还有 SBJSON(又名 JSON 框架):

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

希望这会有所帮助。

【讨论】:

    【解决方案3】:

    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];
        }
    }
    

    它工作正常。

    【讨论】:

      猜你喜欢
      • 2011-10-23
      • 2012-02-26
      • 1970-01-01
      • 1970-01-01
      • 2019-08-24
      • 2018-04-24
      • 2014-02-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多