JSON: JS解析外部JSON文件(我可以去掉引号吗?)
JSON: JS parsing external JSON file (Can I drop the quotation markers?)
{
name: "Tesla",
gender: "Male",
info: {age: 88, interest: "Science"},
x:
[
{y: 1},{y: 2}
]
}
我使用var jsonData = eval("("+xmlhttp.responseText+")");
,这可以解析JSON文件没有" "
周围的属性。
但对于JSON.parse(xmlhttp.responseText)
{
"name": "Tesla",
"gender": "Male",
"info": {"age": 88, "interest": "Science"},
"x":
[
{"y": 1},{"y": 2}
]
}
JSON属性必须被" "
包围。有没有办法做到没有" "
?
不行,没办法。
如果属性周围没有引号,它不是有效的JSON。第一个例子是JavaScript对象文字
如果属性周围没有引号,JSON将不再有效。这样做只会给你带来麻烦。
JSON是一种数据格式,表示为JavaScript的子集。
JSON规范要求将属性名表示为字符串(必须加引号)。JavaScript对象字面语法也提供了使用标识符的选项。
eval
可以处理你的属性名作为标识符,因为这种语法在JavaScript中是允许的,eval
计算代码作为JavaScript。另一方面,JSON.parse
期望真正的JSON,这就是你必须给它的。
eval
是邪恶的。看看这篇文章。但是,您正在使用JSON.parse
,这需要更新版本的浏览器或json2.js
脚本。
但是在我的偏好中,我喜欢使用jQuery如何使用new Function()
将JSON反序列化为对象。考虑以下代码:
var jsonData = new Function('return ' + xmlhttp.responseText)();
无论有没有"都可以
相关文章:
- 使用JS将数组转换为json对象
- 如何使用 node.js 比较两个 json 数组
- 如何将package.json数组传递给grunt.js
- 谷歌地图JS API+JSON-多个标记没有显示
- Backbone.js restful json API design
- Ext.js从json构建模型关系的问题
- 如何使用 Node JS 获取 JSON 嵌套数组值
- 如何将我的json结构转换为C3.js所需的列结构
- 带嵌套json的下划线js查找
- React JS:未捕获(在承诺中)语法错误:在位置 0 的 JSON 中意外<令牌
- 正在尝试将JSON文件放入JS数组
- 来自Facebook FQL Function的JSON JS对象数组
- 如何通过node中的请求返回JSON.js(从javascript)
- JSON: JS解析外部JSON文件(我可以去掉引号吗?)
- - Materials[json. js]类型]不是构造函数
- 如何在node.js脚本中美化/美化Json/JS文件
- 基于时间排序JSON JS对象
- 在处理之前从json/js提要中删除所有javascript标记
- json.js和json2.js的作用是什么
- 从 PHP => JSON => JS 时为空值