Как создать объект JavaScript из заданной строки json

#javascript #json #reactjs

Вопрос:

У меня есть большие данные json, которые я должен проанализировать и получить объект из следующей строки Json. Я добавил только верхнюю часть этих больших данных json. Я попытался разобрать его с помощью

 let obj = JSON.parse(this.state.data);
 

это не работает, это разрывается с этим msg «Синтаксическая ошибка: неожиданный токен L в JSON в позиции 0».

Если я получу консоль.войдите в console.log(JSON.stringify(this.state.data, null, 2)); систему и попробуйте проверить вывод с помощью онлайн-валидатора JSON, он говорит, что это действительные данные JSON. Не могли бы вы, пожалуйста, сказать мне, как я могу его разобрать?

 {
"content": [
{
  "_id": 1,
  "name": "Warehouse A",
  "location": {
    "lat": 47.13111,
    "long": -61.54801
  },
  "cars": {
    "location": "West wing",
    "vehicles": [
      {
        "model": "GX",
        "price": 27395.26,
        "licensed": false,
        "_id": 15,
        "make": "Lexus",
        "year_model": 2005,
        "date_added": "2017-11-12T00:00:00.000 00:00"
      },
      {
        "model": "Q",
        "price": 6103.4,
        "licensed": false,
        "_id": 9,
        "make": "Infiniti",
        "year_model": 1995,
        "date_added": "2017-11-13T00:00:00.000 00:00"
      },
     .........xxxxxx continue
 

Комментарии:

1. Если JSON.stringify(this.state.data, null, 2) регистрирует излишне отформатированный объект, то this.state.data это не JSON , так зачем пытаться анализировать его как таковой?

Ответ №1:

Ваша переменная this.state.data не является JSON. Это объект Javascript, как и JSON, так почему бы просто не использовать let obj = this.state.data;

Комментарии:

1. В моем приложении reactjs я должен систематически отображать каждую из этих данных. Для этого мне нужно построить объект из строки json, которую я получаю из бэкэнда.

2. «Это объект Javascript, такой же, как JSON» — O. o

3. Я новичок в мире Javascript, я думаю об этом на языке Java. Итак, как вы предлагаете отображать все эти даты, скажем, в таблице.