[英]How to convert NSString as JSON Format in ios5?
我有一些像這種格式的字符串值,
[INFO] [Tue Aug 21 14:54:22 2012] [ViewController] [26] [Hello] [;]
我想使用NSJSONSerialization將這些字符串轉換為JSON。
我使用以下代碼轉換字符串,
for (i = 0; i < [logArray count]; i++)
{
individualLogInfoArray = [[logArray objectAtIndex:i] componentsSeparatedByString:kDelimitterSpace];
[dictionaryArray addObject:individualLogInfoArray];
}
finalLogDictionary = [NSMutableDictionary dictionaryWithObjectsAndKeys:dictionaryArray,@"Log", nil];
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:finalLogDictionary
options:NSJSONWritingPrettyPrinted
error:&error];
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
NSLog(@"JsonString = %@",jsonString);
然后我得到這樣的輸出,
JsonString = {
"Log" : [
"[INFO] [Tue Aug 21 14:54:22 2012] [ViewController] [26] [Hello] [;]",
"[DEBUG] [Tue Aug 21 14:54:22 2012] [ViewController] [27] [hi] [;]",
"[INFO] [Tue Aug 21 14:54:22 2012] [ViewController] [28] [Its there] [;]",
"[PROD] [Tue Aug 21 14:54:22 2012] [ViewController] [29] [Welcome] [;]"
]
}
但我想要像這樣的輸出,
{
"log": "[INFO] [Tue Aug 21 14:54:22 2012] [ViewController] [26] [Hello],[INFO] [Tue Aug 21 14:54:22 2012] [ViewController] [26] [Hello],[INFO] [Tue Aug 21 14:54:22 2012] [ViewController] [26] [Hello]"
}
我不知道如何以上述格式生成JSON字符串,請提出解決方案。
你得到的字符串是有效的JSON,而你想要的字符串不是。 因此,您將無法使用iOS JSON庫生成無效的JSON。
您可以使用此在線工具測試有效性,
希望有所幫助。
更新:問題已經過修訂,以顯示有效的JSON作為必需的輸出。
您修改后的問題現在是操作NSDictionary,NSString和NSArray對象以在將其序列化為JSON之前獲取所需格式的情況。
您需要將原始數據操作到包含鍵/值對的字典中,
日志:
...然后將其序列化為JSON。
在為每個logArray項添加對象的循環中,您可以使用所需格式appendString。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.