我能够通过迭代NSMutableDictionary
来成功生成JSON文档。反过来,此NSMutableDictionary
包含两个也是NSMutableDictionary
的值,其中的键分别为reports
和results
。
构造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对象的一部分,而不仅仅是当我输出到控制台时。
答案 0 :(得分:0)
只需为要添加到jsonDoc字典的每个键/值对调用setObject:forKey :.无论你是将它们放在你问题中的两个电话之上还是之下都没关系,因为字典是无序的。