我有两个Json字符串,我想将它组合成一个字符串。
我已经尝试过这段代码,但输出的是showinw错误的输出,
代码:
NSString* json1 = [[NSString alloc] initWithData:jsonData1 encoding:NSUTF8StringEncoding];
NSString* json2 = [[NSString alloc] initWithData:jsonData2 encoding:NSUTF8StringEncoding];
json1 = {"foo":"bar","bar":"foo","name":"craig"}
json2 = {"foo":"baz","bar":"fob","name":"george"}
NSArray *jsonArr = @[json1, json2];
NSLog(@"jsonArr %@",jsonArr);
输出:
(
"{\n \"foo\" : \"bar\",\n \"bar\" : \"foo\",\n \"name\" : \"craig\ \n}",
"{\n \"foo\" : \"baz\",\n \"bar\" : \"fob\",\n \"name\" : \"george\ \n}"
)
我在哪里弄错了? 请提供帮助和感谢
答案 0 :(得分:0)
你无法直接将jason转换为String。如果jsonData1和jsonData2是字典,请执行以下操作,如果没有将它们转换为NSDictionary
NSString *jsonString=@"";
NSString *key;
for(key in [jsonData1 allKeys])
{
jsonString = [jsonString stringByAppendingFormat:@"%@=%@,",key,[jsonData1 objectForKey:key]];
}
for(key in [jsonData2 allKeys])
{
jsonString = [jsonString stringByAppendingFormat:@"%@=%@,",key,[jsonData2 objectForKey:key]];
}
jsonString = [jsonString substringToIndex:[jsonString length] - 1];
答案 1 :(得分:0)
假设您有两个代表两个词典的JSON字符串
NSString *json1 = @"{\"foo\":\"bar\",\"bar\":\"foo\",\"name\":\"craig\"}";
NSString *json2 = @"{\"foo\":\"baz\",\"bar\":\"fob\",\"name\":\"george\"}";
使JSON数组使用逗号分隔符连接字符串并将其包装在括号[]
NSString *resultJSONArrayString = [NSString stringWithFormat:@"[%@]", [@[json1, json2] componentsJoinedByString:@","]];
// [{"foo":"bar","bar":"foo","name":"craig"},{"foo":"baz","bar":"fob","name":"george"}]