Как сохранить объект JSON в нескольких объектах JSON - TypeScript - PullRequest
0 голосов
/ 03 октября 2019

Пока я получаю данные формы JSON formDoc из бэкэнда.

      {
        "components": [
            {
                "label": "Textfield1",
                "type": "textfield",
                "key": "textfield1",
                "input": true
            },
            {   "label": "Radio",
                "type": "radiobutton",
                "key": "radiobutton1",
                "input": true
           },]}

и для другой формы, которую я получил, это

       {
"components": [
            {
                "label": "Text2",
                "type": "textfield",
                "key": "textfield2",
                "input": true
            },
            {   "label": "Checkbox",
                "type": "checkbox",
                "key": "checkbox1",
                "input": true
               },
               {   "label": "Checkbox2",
                    "type": "checkbox",
                    "key": "checkbox2",
                    "input": true
               },]}

Различные формы имеют разные компоненты, так как формы настраиваются пользователями. Я пытаюсь разделить JSON по ключам. Например, разделить первый на

{
                    "label": "Textfield1",
                    "type": "textfield",
                    "key": "textfield1",
                    "input": true
                },

и

{   "label": "Radio",
                    "type": "radiobutton",
                    "key": "radiobutton1",
                    "input": true
               },

Как я могу сделать разделение работать в Typescript, так как для первого будет разделен на два разных объекта иВторой разделить на три разных объекта? Проблема не в том, чтобы разбить компоненты, а в том, как их сохранить, так как я не могу создать список «объектов», как строка.

Ответы [ 2 ]

0 голосов
/ 03 октября 2019

Я не совсем уловил ваш вопрос, но я понимаю следующие два варианта:

//Lets call theObject to your object
const newArray = [];
theObject.forEach(item => item.components.forEach(i => newArray.push(i)));
// now you can do whatever you want with your flat array

в случае, если у вас два разных объекта (в разных const / переменных)

const newArray = [...object1.components, ...object2.components];
// now you can do whatever you want with your flat array
0 голосов
/ 03 октября 2019

Вы уверены, что не думаете, что это сложнее, чем на самом деле? Каждая вещь, которую вы хотите выделить, это просто:

jsonObj.components[0]
jsonObj.components[1]
...
jsonObj.components[jsonObj.components.length - 1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...