从JSON响应中获取数据

时间:2014-06-14 10:51:14

标签: objective-c json ios7 ios8

我正在收到像这样的JSON响应

[{"UserId":250,"Response":"success"}]  

我使用下面的代码来获取UserId

  NSDictionary *jsonDict1 = [NSJSONSerialization JSONObjectWithData:receivedData options: NSJSONReadingMutableContainers error: &e];

userId = [jsonDict1 valueForKey:@"UserId"];

但我以( 250 )的形式获取用户ID我需要获取没有括号的数据

1 个答案:

答案 0 :(得分:1)

JSON中的根对象是一个数组,你可以告诉它,因为对象周围有方括号(使用花括号)。

当您在数组上调用valueForKey:时,它将返回一个新数组,其中包含在每个元素上调用valueForKey:的结果。

如果您只想获得第一项,则需要执行此操作

NSArray *results = [NSJSONSerialization JSONObjectWithData:receivedData 
                                                   options:NSJSONReadingMutableContainers 
                                                     error:&error];

userId = results.firstObject[@"UserId"];

               Array
+-------------------------------------+
|                                     |
v                                     v
[ {"UserId":250,"Response":"success"} ]  
  ^                                 ^
  |                                 |
  +---------------------------------+
         1st object in array