Преобразование наблюдаемого - PullRequest
0 голосов
/ 15 января 2019

Я получаю данные из серверного API, как это

 [{
        "brinname": "Aamir",
        "aantalPersonen": "122",
        "signalenvestiging": [{
            "vestiging": "Ranchi",
            "aantalPersonen": "102",
            "signalenCode": [{
                    "signaalCode": "4",
                    "aantalPersonen": "15"
                },
                {
                    "signaalCode": "5",
                    "aantalPersonen": "15"
                }
            ]
        }, {
            "vestiging": "Bangalore",
            "aantalPersonen": "82",
            "signalenCode": [{
                    "signaalCode": "6",
                    "aantalPersonen": "15"
                },
                {
                    "signaalCode": "7",
                    "aantalPersonen": "15"
                }
            ]
        }]

    },
    {
        "brinname": "Abhinav",
        "aantalPersonen": "122",
        "signalenvestiging": [{
            "vestiging": "Bangalore",
            "aantalPersonen": "102",
            "signalenCode": [{
                "signaalCode": "7",
                "aantalPersonen": "15"
            }]
        }]
    }
 ]

Но мне нужно изменить структуру данных, которая выглядит примерно так:

[{
  "data":
  [
    {
      "data":{
        "name":"Aamir",
        "aantalPersonen":"122",
      },
      "children":[
        {
          "data":{
            "name":"Ranchi",
            "aantalPersonen":"102",

          },
          "children":[
            {
              "data":{
                "signaalCode":"4",
                "aantalPersonen":"15",
              }
            },
            {
              "data":{
                "signaalCode":"5",
                "aantalPersonen":"10",
              }
            },

          ]
        },
        {
          "data":{
          vestiging: "Bangalore",
          aantalPersonen: "82",
          },
          "children":[
            {
              "data":{
                signaalCode: "6",
              aantalPersonen: "15"
              }
            }
          ]
        }
      ]
    }
     ,
    {
      "data":{
         brinname: "Abhinav",
      aantalPersonen: "122",

      },
      "children":[
        {
          "data":{
             vestiging: "Bangalore",
          aantalPersonen: "102",
          }
        },
       "children":[
            {
              "data":{
                "signaalCode":"4",
                "aantalPersonen":"15",
              }
            }
      ] ]
    } 

  ]
}]

Так что я могу использовать отформатированную структуру для рендеринга моего html-файла в html-файл таблицы дерева дел.

У любого есть идея, как я могу преобразовать сообщения JSON в наблюдаемые в другие сообщения, наблюдаемые JSON.

1 Ответ

0 голосов
/ 15 января 2019

Если вы уже получили свои данные как наблюдаемые, и вы просто хотите преобразовать их, то вам нужен оператор map RXJS.

Использование выглядит примерно так:

const data = of([]); // Your data as an observable should go here.

const transformedData = data
  .pipe(
    map(d => ({
      data: {
        name: d.brinname
      }
      // Other fields can be mapped here too.
    }))
    map(d => ({ data: d }))
  );

Это отобразит поле 'brinname' в вашем ответе API на новое поле с именем name (и удалит все остальные поля). Затем он поместит результат в новый объект со свойством «data».

Дайте мне знать, если вам понадобится дополнительная помощь.

...