如何使用JavaScript访问存储在说明属性中的值?
如下图所示(浏览器控制台的屏幕快照),存储的值为 [STK_CB-]请求已被用户取消
在浏览器控制台中,我尝试了显示console.log(responseMan.payload["0"].jsonPayload.description);
的{{1}}。我要去哪里错了?
期待您的帮助。
答案 0 :(得分:1)
jsonPayload
的值是一个字符串,而不是一个对象,请注意它周围的双引号。该属性的名称表示它是JSON。您需要调用JSON.parse()
才能将其转换为对象。
var payload = JSON.parse(responseMan.payload[0].jsonPayload);
console.log(payload.description);
答案 1 :(得分:1)
只需从索引中删除“,然后执行以下操作即可:
u还必须先转换json
const jsonStr = responseMan.payload[0].jsonPayload;
const data = JSON.parse(jsonStr);
console.log(data.description);
答案 2 :(得分:0)
问题出在您的json中。因为您正在尝试访问responseMan.payload [“ 0”]。 JsonPayload在json中有一个正确的元素。但是描述是responseMan.payload [“ 0”]中的字符串值。因此,JsonPayload必须格式化responseMan.payload [“ 0”]的内容。 JSON对象上的JsonPayload。示例var obj = JSON.parse(responseMan.payload [“ 0”]。JsonPayload);所以 说明将是一个json对象
OR
您可以在后端修复该json,然后将该部分作为json而不是字符串发送