我无法使用Javascript使用JSON进行解析
I can't parse using JSON using Javascript
我已经阅读了这篇文章,但我仍然不知道发生了什么。
根据大多数 JSON 在线数据检查器,我的 var"文本"是有效的,但是当我执行解析时,它不会做任何事情。
下面是一个示例代码:
<!DOCTYPE html>
<html>
<body>
<h2>Create Object from JSON String</h2>
<p id="demo"></p>
<script>
var text = '{
"zipcodes": [
{
"zip": "22312",
"city": "Alexandria",
"state": "VA"
},
{
"zip": "22030",
"city": "Fairfax",
"state": "VA"
},
{
"zip": "22301",
"city": "Tyson's Corner",
"state": "VA"
},
{
"zip": "20148",
"city": "Ashburn",
"state": "VA"
}
]}';
obj = JSON.parse(text);
document.getElementById("demo").innerHTML =
obj.zipcodes[1].zip + " " + obj.zipcodes[1].city;
</script>
</body>
</html>
您有两个问题:
-
JavaScript 不支持多行字符串,而不用延续符标记每一行(通过行尾的
'
)。我已经在我的示例中完成了此操作,但是将 JSON 包含在一行中确实更容易。 -
您对字符串使用单引号,但字符串包含未转义的
'
。逃脱它,你没事。
var text = '{ '
"zipcodes": ['
{ '
"zip": "22312", '
"city": "Alexandria", '
"state": "VA" '
}, '
{ '
"zip": "22030", '
"city": "Fairfax", '
"state": "VA" '
}, '
{ '
"zip": "22301", '
"city": "Tyson''s Corner", '
"state": "VA" '
}, '
{ '
"zip": "20148", '
"city": "Ashburn", '
"state": "VA" '
} '
]}';
obj = JSON.parse(text);
document.getElementById("demo").innerHTML =
obj.zipcodes[1].zip + " " + obj.zipcodes[1].city;
<div id='demo'></div>
您必须将 json 放在一行上并转义您的 '.
《泰森的角落》
http://jsbin.com/xumiba/1/edit?html,js,console,output
var text = '{ "zipcodes": [ { "zip": "22312", "city": "Alexandria", "state": "VA" }, { "zip": "22030", "city": "Fairfax", "state": "VA" }, { "zip": "22301", "city": "Tyson''s Corner", "state": "VA" }, { "zip": "20148", "city":"Ashburn", "state": "VA" }]}';
您需要
在每个字符串新行的末尾添加''并转义'字符。像这样的事情可以:
var text = '{'
"zipcodes": ['
{'
"zip": "22312",'
"city": "Alexandria",'
"state": "VA"'
},'
{'
"zip": "22030",'
"city": "Fairfax",'
"state": "VA"'
},'
{'
"zip": "22301",'
"city": "Tyson''s Corner",'
"state": "VA"'
},'
{'
"zip": "20148",'
"city": "Ashburn",'
"state": "VA"'
}'
]}';
obj = JSON.parse(text);
console.log(obj.zipcodes[1].zip + " " + obj.zipcodes[1].city);
document.getElementById("demo").innerHTML =
obj.zipcodes[1].zip + " " + obj.zipcodes[1].city;
这是一个jsfiddle链接:
http://jsfiddle.net/0retway7/
相关文章:
- 如何使用JSON使用不同颜色的圆圈
- 从 JSON 使用 Google Charts API 创建饼图
- 如何循环使用JSON(使用AngularJS)并将结果放入Javascript数组中
- Json使用selfhost c#输出,并使用javascript读取响应
- 尝试跨站点 JSON 使用 JS(Angular)请求 API
- Angular JSON - 使用“跟踪依据”表达式
- 对要在 localStorage 中使用的嵌套 JSON 使用 stringify
- WCF服务JSON使用ASP.NET发布数据
- 如何在ajax调用中忽略(标签、脚本).对于json使用
- 如何从json使用正则表达式(regex)在php中的内容
- 希望对JSON使用IF语句
- JSON使用命名索引访问数组对象
- JSON使用javascript在循环中插入值
- JSON使用JavaScript读取本地文件(类似的问题Stack overflow没有帮助)
- 我可以使用JavaScript JSON.使用外部数组进行解析
- 如何对典型的JSON使用ng-repeat
- JSON.使用reviver函数进行解析
- JSON.使用嵌套对象解析JSON
- Javascript - Json使用编码器从表中获取值
- JSON 使用 AJAX 获取表单值