#jquery #json
#jquery #json
Вопрос:
У меня есть строка с несколькими массивами в ней, разделенными запятой. Что я хочу сделать, так это разобрать каждый json-объект (не массив!) в один массив в javascript. Каков наилучший способ сделать это?
[
{
"type":"radio-group",
"label":"Radio-Button-Gruppe",
"name":"radio-group-1556028993486",
"className":"iCheck",
"values":[
{
"label":"aaaaaaa",
"value":"aaaaaaa"
},
{
"label":"bbbbbbbbb",
"value":"bbbbbbbbb"
},
{
"label":"cccccccccccc",
"value":"cccccccccccc"
}
]
}
],
[
...
],
[
{
"type":"header",
"label":"Überschrift"
}
]
Хотите иметь это:
array[0] = {
"type":"radio-group",
"label":"Radio-Button-Gruppe",
"name":"radio-group-1556028993486",
...
}
array[n] = {
"type":"header",
"label":"Überschrift"
}
Решение
JSON.parse(`[${formData}]`).flat();
С помощью flat()
-функции я мог бы убрать скобки внешнего массива и разобрать мои json-объекты в свой массив.
Комментарии:
1. JSON.parse
Ответ №1:
Кажется, не хватает только квадратных скобок для переноса. Вы пробовали:
let str = '...', // your string
arr = JSON.parse(`[${str}]`).flat();