2012-12-25 35 views
0

我能夠通過迭代NSMutableDictionary來成功生成JSON文檔。這個NSMutableDictionary又包含兩個值,也分別是NSMutableDictionary's,其中的鍵分別是reportsresults需要iOS中的NSMutableDictionary生成的JSON文檔的前綴

是構建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

mainDoc是什麼?你創建一個名爲jsonDoc的字典,但是接着在mainDoc上調用setObject:forKey - 是一個錯字嗎? – rdelmar

+0

是的,mainDoc是一個類型。它應該是jsonDoc,我在這個問題中糾正了這個問題。我的道歉,並感謝您指出。 :-) – syedfa

回答

0

只需調用setObject:forKey:爲每個要添加到jsonDoc字典的鍵/值對。無論你把它們放在你的問題的兩個電話之上還是之下,因爲字典是無序的。

+0

感謝rdelmar爲您的答案。事後回想起來,它看起來很明顯(我覺得很愚蠢),但我真的沒有意識到我可以做到這一點。我非常感謝你的幫助! – syedfa