我正在尝试从供应商提供的API中获取一些JSON数据,但是我在Google上尝试时遇到了错误,人们在很多评论中说要使用JSON.Stringify
,但就我而言,JSON.Stringify
没有帮助我,它返回了一个像{}
来自api的休假如下
[{ SYMBOL: 'FOREX',
CODE: 'REG',
LST: '219.50',
LTP: '12:52:35'}]
但我的愿望是
[{ "SYMBOL" : "FOREX",
"CODE": "REG",
"LTP": '219.50',
"LST": '12:52:35'}]
答案 0 :(得分:0)
您的响应是针对文本的,要将文本转换为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响应。
答案 1 :(得分:0)
如果供应商的API提供的JSON结果确实是这样的:
[{ SYMBOL: 'FOREX',
CODE: 'REG',
LST: '219.50',
LTP: '12:52:35'}]
我必须通知您这是无效的JSON。在JSON中,属性应为双引号之间的字符串,否则无法解析。
您所需的答复是正确的形式。供应商形成输出的方式可能有错误。
tl; dr:供应商的API给您的是JavaScript对象,而不是JSON。
答案 2 :(得分:0)
好的,所以我所做的就是使用STRINGFY作为中间件,它解决了我的问题,感谢您的帮助,他们真的很赞赏。