从json访问特定值的问题

时间:2017-08-09 19:10:10

标签: javascript json

我有以下json

var data=
{
"soapenv:Envelope" : {
    "xmlns:soapenv" : "http://www.w3.org/2003/05/soap-envelope",
    "soapenv:Body" : {
        "CallBankChatBotResponse" : {
            "xmlns" : "http://ST/CallBankChatBot.tws",
            "responseMessage" : "2072.4145"
        }
    }
  }
};

现在我需要responseMessage的值,即2072.4145

如果json正常,我可以很容易地得到那个值。但是如果我尝试它会因为特殊字符而导致我错误: 然后

data.soapenv:Envelope.xmlns:soapenv.soapenv:Body.CallBankChatBotResponse.responseMessage

将无法工作。如何通过转义获取responseMessage值:

有人可以提供帮助

2 个答案:

答案 0 :(得分:0)

您可以使用括号表示法访问responseMessage

var result = data["soapenv:Envelope"]["soapenv:Body"]["CallBankChatBotResponse"]["responseMessage"];

详情here

答案 1 :(得分:0)

您可以使用括号表示法,然后您可以将键保持为引号中的字符串。要获得responseMessage,您可以执行以下操作:

data["soapenv:Envelope"]["soapenv:Body"]["CallBankChatBotResponse"]["responseMessage"]



var data=
{
"soapenv:Envelope" : {
"xmlns:soapenv" : "http://www.w3.org/2003/05/soap-envelope",
"soapenv:Body" : {
    "CallBankChatBotResponse" : {
        "xmlns" : "http://ST/CallBankChatBot.tws",
        "responseMessage" : "2072.4145"
    }
}
  }
};

console.log(data["soapenv:Envelope"]["soapenv:Body"]["CallBankChatBotResponse"]["responseMessage"]
);