Преобразовать json строку объекта в JSON - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть ответ Json вот так

const responseJson = [
  {
    device_id: "arena-FnVq4HTwtBg6JqqBxWBB7W",
    timestamp: "2020-02-10T20:52:00.000Z",
    data: "{"type": "DATA", "unitID": "arena-FnVq4HTwtBg6JqqBxWBB7W",
    "version": "1.0.0",
    "voltage": [130.0222, 129.9743, 129.9567, 129.9853, 130.0043, 130.0257, 130.067,
     130.1005, 130.0698, 130.1056],
     "frequency": [60.0005, 60.0001, 59.9984, 59.9999, 59.9992, 59.9971, 59.9977,
     59.9979, 59.999, 59.9985],
     "timestamp": 1581367920000,
     "phaseAngle": [2.5766, 2.5769, 2.5768, 2.5761, 2.5754, 2.574, 2.5718, 2.5706,
      2.569, 2.5677]}"
  }
]

console.log(responseJson[0].data)

my data - это строка, а не объект. Как я могу проанализировать мои данные, чтобы получить это

const responseJson = [
      {
        device_id: "arena-FnVq4HTwtBg6JqqBxWBB7W",
        timestamp: "2020-02-10T20:52:00.000Z",
        data: {"type": "DATA", "unitID": "arena-FnVq4HTwtBg6JqqBxWBB7W",
        "version": "1.0.0",
        "voltage": [130.0222, 129.9743, 129.9567, 129.9853, 130.0043, 130.0257, 130.067,
         130.1005, 130.0698, 130.1056],
         "frequency": [60.0005, 60.0001, 59.9984, 59.9999, 59.9992, 59.9971, 59.9977,
         59.9979, 59.999, 59.9985],
         "timestamp": 1581367920000,
         "phaseAngle": [2.5766, 2.5769, 2.5768, 2.5761, 2.5754, 2.574, 2.5718, 2.5706,
          2.569, 2.5677]}
      }
    ]

Я пытался JSON.parse, но без помощи, вот что я получаю, когда я console.log: console.log(responseJson.data)
throws

undefined

console.log(JSON.parse(responseJson.data))
throws

SyntaxError: Неожиданный токен u в JSON в позиции 0

1 Ответ

0 голосов
/ 11 февраля 2020

Используйте JSON.parse('your string here'), он преобразует вашу строку в объект

...