Анализ JSON в React Native для получения массива строк - PullRequest
0 голосов
/ 28 марта 2019

В реакции native в следующем JSON мне нужно получить array из string ["описание abc", "описание описания", "описание ghi" и т. Д.] Для значения DataHolder.Может быть n чисел dictionary в DataHolder

{
  "StatusCode": 200,
  "Description": "Description",
  "Message": "Success",
  "Response": {
    "Data": {
      "DataHolder": [
        {
          "abc": "abc description"
        },
        {
          "def": "def description"
        },
        {
          "ghi": "ghi description"
        }
      ]
    }
  }
}

Я новичок в реакции на родную, любая помощь будет оценена.

Ответы [ 2 ]

2 голосов
/ 28 марта 2019

Похоже, вы просто хотите реструктурировать данные из ответа API. Вот одно из решений:

const data = {
    ...
    "Response": {
        "Data": {
            "DataHolder": [
                {
                    "abc": "abc description"
                },
                {
                    "def": "def description"
                },
                {
                    "ghi": "ghi description"
                }
            ]
        }
    }
};
const descriptions = data.Response.Data.DataHolder.map(item => Object.values(item)[0]);

// ["abc description", "def description", "ghi description"]
0 голосов
/ 28 марта 2019

Одним из решений было бы использование библиотеки JSON

 const tempJSON = {
      "StatusCode": 200,
      "Description": "Description",
      "Message": "Success",
      "Response": {
        "Data": {
          "DataHolder": [
            {
              "abc": "abc description"
            },
            {
              "def": "def description"
            },
            {
              "ghi": "ghi description"
            }
          ]
        }
      }
    }

    let resultJSON = JSON.stringify(tempJSON)
    resultJSON = JSON.parse(resultJSON)

    console.log(resultJSON.Response.Data.DataHolder)

Журнал результатов

(3) [{…}, {…}, {…}]
0: {abc: "abc description"}
1: {def: "def description"}
2: {ghi: "ghi description"}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...