Извлечение данных из вложенного JSON с использованием Node JS - PullRequest
0 голосов
/ 04 апреля 2019

Мне нужно извлечь текстовое значение productid из порядка, но, к сожалению, я не смог пройти через JSON.Любые идеи о том, как пройти узлы в Node JS самым простым способом?

"order": {
    "PRD_SHIRT_048": {
      "price": "40.99",
      "productId": "PRD_SHIRT_048",
      "quantity": "1"
    },
 "PRD_TOP_047": {
      "price": "40.99",
      "productId": "PRD_TOP_047",
      "quantity": "1"
    }
  }

1 Ответ

1 голос
/ 04 апреля 2019

Прежде всего, вам нужно решить, откуда вы хотите извлечь данные. Если это файл, вам нужно импортировать файл, например, с помощью пакета npm 'fs'.

Пример кода:

const fs = require("fs");
const content = fs.readFileSync("content.json");

console.log("Output: \n" + content);

Вы можете использовать axios для получения данных json по определенному URL. Например:

axios.get('yoururl')
  .then((response) => {
    // handle success
    console.log(response);
  })
  .catch((error) => {
    // handle error
    console.log(error);
  });

Тогда вы успешно извлекли данные. После этого вы можете проанализировать содержимое json с помощью JSON.parse, и это вернет объект со всем его содержимым.

Например, для вашего кода:

const json = `{"order": {
    "PRD_SHIRT_048": {
      "price": "40.99",
      "productId": "PRD_SHIRT_048",
      "quantity": "1"
    },
 "PRD_TOP_047": {
      "price": "40.99",
      "productId": "PRD_TOP_047",
      "quantity": "1"
    }
  }}`;
  
const obj = JSON.parse(json);

console.log(obj.order.PRD_SHIRT_048.productId);

Если вы хотите, вы можете перебирать объекты из объекта заказа и получать идентификатор продукта из этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...