我有一个我想使用的json对象。
{
"type": "PROVIDER_PAYLOAD",
"message": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkOTQ3OTg4N2RlMGRkMDc4ZjEzM2FmNyIsImVtYWlsIjoiYWxzb25nZHVuc3RhbjJAZ21haWwuY29tIiwicm9sZSI6IkNVU1RPTUVSIiwiaWF0IjoxNTcwMDI3MDA4fQ.FcpoBPmhTSX535bNgE2ezCCWsNFPjEhc87hM4y6WadM"
}
所以当我尝试使用
console.log("Postback: " + payload.type)
但是我得到一个错误
Postback: undefined
我已经查看了网络上的一些资源,其中大多数都是这样做的并且它有效,但我不确定为什么我的没有给出类型的值 提前致谢
Subh是对的。在使用payload.type
语法访问type
之前,必须将 JSON 解析为对象。
因此,假设您有以下内容:
let payload = {
"type": "PROVIDER_PAYLOAD",
"message": "eyJhbGciOiJIUzWadM"
}
您必须使用JSON.parse
将其转换为 JS 对象:
let payloadObj = JSON.parse(payload);
现在,如果你做payloadObj.type
,你应该没事。
console.log(payloadObj.type); // PROVIDER_PAYLOAD
它应该可以正常工作。
更新:错误:语法错误:JSON 中位置 0 处出现意外的标记 a
如果收到此错误,请尝试按照以下操作来解析有效负载。
let payloadObj = JSON.parse(JSON.stringify(payload))
它应该为您解决问题。