2016-09-08 5 views
0

У меня есть две строки Json, и я хочу объединить их в одну строку.Объедините два json в один объектив c

Я попробовал этот код, но выход это 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}" 
) 

Где я делаю ошибку? Пожалуйста, помогите и спасибо adavance

+1

Каков ваш ожидаемый результат? –

+0

Почему вы не комбинируете 2 строки нормально? '[NSString stringWithFormat: @"% @,% @ ", json1, json2]' –

+0

он должен показывать действительный комбинированный json –

ответ

0

Вы не можете напрямую конвертировать Джейсону в String. Выполните следующие действия, если jsonData1 и jsonData2 словарей, если не тайные их NSDictionary

NSString *[email protected]""; 
    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]; 
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"}] 
Смежные вопросы