0

我在 JSON 上很糟糕。我一点都不明白。我的 JSON 响应如下所示:

 {
    ID = 1;
    EDate = "<null>";
    SelectedDay = "/Date(-62135596800000)/";
    End = "14.09.2013 15:00:00";
    Start = "14.09.2013 07:00:00";
    SDate = "<null>";
},
    {
    ID = 1;
    EDate = "<null>";
    SelectedDay = "/Date(-62135596800000)/";
    End = "14.09.2013 16:00:00";
    Start = "14.09.2013 07:00:00";
    SDate = "<null>";
},

在 NSData 和 NSDictionary 中。如何循环槽,例如,每个对象的“结束”属性,并将它们添加到数组中?

编辑:

我从这段代码中登录:

NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:result.data options:kNilOptions error:&error];

    NSLog(@"Response: %@",dict);

完整的日志是: 在此处输入图像描述

4

4 回答 4

1

这个 JSON 似乎是一个字典数组。尝试:

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

for (NSDictionary *dictionary in JSONArray) {

     [endValuesArray addObject:[dictionary valueForKey:@"End"]];

}

其中 JSONArray 为 NSJSONSerialization 后得到的数组。

于 2013-09-22T20:02:18.547 回答
1

用这个 :

NSMutableArray *endDatesArray = [NSMutableArray new]; // Here this array will store all end dates
for (int i =0; i < [YOUR_JSONARRAY count]; i++) // Here YOUR_JSONARRAY is the response array you are getting 
{
    NSMutableDictionary *dict= [YOUR_JSONARRAY objectAtIndex:i];
    [endDatesArray addObject:[dict objectForKey:@"End"]];

}

希望它可以帮助你。

于 2013-09-22T19:06:53.577 回答
1

如果您真的只需要每个字典中单个键的值数组,那么您可以使用 KVC:

NSArray *endValues = [resultsArray valueForKey:@"End"];

-- 这是假设您确实有一系列字典,并且您粘贴的日志只是没有显示完整的故事。

如果您需要字典中的多个键/值,那么您最好遍历内容并选择每个项目。您可以使用普通循环或块查看多种迭代方法。

于 2013-09-22T19:01:32.903 回答
-1
  • 制作 JSON 对象的 NSArray。
  • 使用 FOR 循环直到数组的计数为每个数组对象创建一个 NSDictionary
  • 使用 'objectForKey:@"End"' 提取 End 对象。(在 for 循环中)
于 2013-09-22T18:56:54.920 回答