我从通过NodeJS的API调用中获得了与JSON类似的数据作为回报。
我得到的答复是:
{ abc: 10,
qwe: 5 }
如果以上显示如下:
{ "abc": 10,
"qwe": 5 }
我本可以使用JSON.parse函数,但是前者不能与JSON.parse一起使用。
有什么办法可以从该响应中获取
qwe
的值? 最佳答案
选项1:已经是一个对象。
您显示的项目已经是一个对象。它不需要解析。 JSON.parse()旨在通过一个字符串并将其变成一个对象。只需使用对象本身即可。
例:
const object = {abc:10, qwe:5};
console.log(object.abc); // > 10
console.log(object["qwe"]); // > 5
选项2:这是非JSON字符串。
在这种情况下,也许您可以预测模式并手动将其转换为稍后可以解析的JSON格式?
就像是:
const nonJson = "{abc: 10, qwe: 5 }";
let jsoned = nonJson.replace(/(:\s+)/g, "\":\"");
jsoned = jsoned.replace(/(,\s+)/g, "\",\"");
jsoned = jsoned.replace(/({\s*)/, "{\"");
jsoned = jsoned.replace(/(\s+})/, "\"}");
const object = JSON.parse(jsoned);