我试图解析,没有成功的网址编码体内容如:"data={\"event\":\"INBOX\",\"from\":\"3323230\",\"to\":\"43434343357\",\"text\":\"Example text"}"
我正在做:var myVar = JSON.parse(myUrlEncodedContenString)
有什么想法吗?
答案 0 :(得分:2)
基本正确:
var myVar = JSON.parse(myUrlEncodedContenString);
但是你的字符串不是JSON对象。 JSON对象不能以" data ="开头。 JSON对象只是在" data ="之后开始的路径。所以首先从索引5开始提取子字符串。只有以下部分是JSON:
{\"event\":\"INBOX\",\"from\":\"3323230\",...}
此外,您的字符串中存在错误。一个地方缺少逃脱。
你有:
...\"Example text"}"
但它应该是:
...\"Example text\"}"
测试显示它是如何工作的(在最后固定时转义):
<script type="text/javascript">
var data = "data={\"event\":\"INBOX\",\"from\":\"3323230\",\"to\":\"43434343357\",\"text\":\"Example text\"}";
var jsonEscaped = data.substring(data.indexOf("=") + 1);
var result = JSON.parse(jsonEscaped);
console.log(result);
console.log(result.event);
console.log(result.from);
console.log(result.to);
console.log(result.text);
</script>
&#13;