nodejs принимает данные из API-проблем с JSON - PullRequest
0 голосов
/ 12 марта 2019

Я пытаюсь получить некоторые данные JSON из API, предоставленного поставщиком, но я получаю сообщение об ошибке, я пытаюсь Google, во многих комментариях люди говорят, что использовать JSON.Stringify, но в моем случае JSON.Stringify мне не помогловозвращает пустой массив, такой как {}

repose от API:

[{ SYMBOL: 'FOREX',
CODE: 'REG',
LST: '219.50',
LTP: '12:52:35'}]

, но мой желательный ответ -

[{ "SYMBOL" : "FOREX",
"CODE": "REG",
"LTP": '219.50',
"LST": '12:52:35'}]

Ответы [ 3 ]

0 голосов
/ 12 марта 2019

Если результат JSON, предоставленный API поставщика, действительно такой:

[{ SYMBOL: 'FOREX',
CODE: 'REG',
LST: '219.50',
LTP: '12:52:35'}]

Я должен сообщить вам, что это недопустимый JSON.В JSON свойства должны быть строками между двойными кавычками , в противном случае его невозможно проанализировать.

Ваш желаемый ответ - правильная форма.Вероятно, ошибка в том, как поставщик формирует выходные данные.

tl; dr: API вашего поставщика предоставляет вам объект JavaScript, а не JSON.

0 голосов
/ 12 марта 2019

Хорошо, так что я использовал STRINGFY в качестве промежуточного программного обеспечения, и это решило мою проблему, спасибо за вашу помощь, ребята, очень благодарны.

0 голосов
/ 12 марта 2019

Ваш ответ на текст, Чтобы преобразовать текст в строку JSON,

let text = `[{ SYMBOL: 'FOREX',
CODE: 'REG',
LST: '219.50',
LTP: '12:52:35'}]`

let jsonStr = JSON.stringify(eval("(" + text + ")")); // Convert Object String to JSON
console.log(jsonStr);

Примечание: Убедитесь, что ваш поставщик является доверенным источником, потому что eval открывает ваш коддля атак с использованием инъекций , если вы беспокоитесь об этом, обратитесь к поставщику для предоставления ответа JSON.

Ссылка: Преобразование строки объекта в JSON

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