如何访问数组属性的值?

时间:2019-07-08 20:27:32

标签: javascript arrays object

如何使用JavaScript访问存储在说明属性中的值?

如下图所示(浏览器控制台的屏幕快照),存储的值为 [STK_CB-]请求已被用户取消

the strange JSON response

在浏览器控制台中,我尝试了显示console.log(responseMan.payload["0"].jsonPayload.description);的{​​{1}}。我要去哪里错了?

期待您的帮助。

3 个答案:

答案 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而不是字符串发送