2015-07-06 6 views
0

У меня есть ответ JSon, которые я получил послеКак я могу изменить эту структуру json?

result = JSON.parse(result.value); 

ответ JSON

"{"name":"For ","children":["{ \"name\":\"sxsm cnklsd\"}","{ \"name\":\"smd csdm\"}"]}". 

Теперь я пытаюсь преобразовать это в к структуре, как:

{ 
    "name": "For ", 
    "children": [ 
     { 
      "name": "sxsm cnklsd" 
     }, 
     { 
      "name": "smd csdm" 
     } 
    ] 
} 

Я попытался удвоить синтаксический анализ, выполнить строгую и затем разобрать, но ничего не работает. Пожалуйста помоги.

+3

у вас есть json-embedded-in-json? Вы должны исправить все, что генерирует json, а не пытаться отменить этот беспорядок ... –

+1

@nicael: 'children' - это массив, содержащий одну строку, которая, как оказалось, встроена в json. OP хочет «отменить» это вложение. –

+4

Это не ответ JSON, это барахло. Это несогласованно цитируется. – tadman

ответ

1

Разбираем JSON, как вы сделали:

> result = JSON.parse(result.value); 
< {"name":"For ","children":["{ \"name\":\"sxsm cnklsd\"}","{ \"name\":\"smd csdm\"}"]} 
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ 

children представляет собой массив, содержащий две строки JSON. Разберите их:

> result.children = result.children.map(JSON.parse) 
> result 
< {"name":"For ", "children":[{ "name":"sxsm cnklsd"}, {"name":"smd csdm"}]} 
+0

Thanks это сработало – user2900150

Смежные вопросы