需要在iOS中为从NSMutableDictionary生成的JSON文档添加前缀

时间:2012-12-25 23:20:23

标签: ios json nsmutabledictionary

我能够通过迭代NSMutableDictionary来成功生成JSON文档。反过来,此NSMutableDictionary包含两个也是NSMutableDictionary的值,其中的键分别为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对象的一部分,而不仅仅是当我输出到控制台时。

1 个答案:

答案 0 :(得分:0)

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