0

我能够通过遍历一个NSMutableDictionary. 这NSMutableDictionary又包含两个也是NSMutableDictionary's 的值,它们的键分别是reportsresults

构造 JSON 文档的代码如下:

NSMutableDictionary *jsonDoc = [NSMutableDictionary dictionary];
    [jsonDoc setObject:results forKey:@"results"];
    [jsonDoc setObject:reports forKey:@"reports"];

    NSError *ierror = nil;
    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:jsonDoc options:NSJSONWritingPrettyPrinted error:&ierror];
    NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
    NSLog(@"JSON Output: %@", jsonString);

我的 JSON 输出如下所示:

JSON Output: {
  "results" : [
    {
      "date" : "2012-12-25T16:58:25",
      "name" : "Test 1",
      "result" : "Fail"
    },
    {
      "date" : "2012-12-25T16:58:33",
      "name" : "Test 2",
      "result" : "Pass"
    },
    {
      "date" : "2012-12-25T16:58:38",
      "name" : "Test 3",
      "result" : "Pass"
    },
    {
      "date" : "2012-12-25T16:58:45",
      "name" : "Test 4",
      "result" : "Fail"
    }
  ],
  "reports" : [

  ]
}

我对我得到的输出感到非常满意。但是,我现在想做的是在我输出的数据前面加上额外的细节,这些细节会JSON Output: {"results". 其他详细信息只是简单的NSString值,如"Name:", "Address", "City", "Province","Postal Code"等。考虑到我目前拥有的代码结构,我将如何做到这一点?问题是,当我最初构建 JSON 对象时,我希望这些细节成为原始 JSON 对象的一部分,而不仅仅是在输出到控制台时。

4

1 回答 1

0

只需为要添加到 jsonDoc 字典的每个键/值对调用 setObject:forKey:。将它们放在问题中的两个调用之上或之下都没有关系,因为字典是无序的。

于 2012-12-25T23:46:02.277 回答