Pap*_*nUK 1 javascript parsing json
我正在尝试从JSON字符串"object"创建一个JavaScript对象,但它失败并显示错误:
"SyntaxError:JSON.parse:expected','或'}'在JSON数据的第1行第48列的对象中的属性值之后"
var jsobj = JSON.parse( '{"lineID":11,"siteID":3,"mystring":"this is a \"Test\" string with quotes"}' );Run Code Online (Sandbox Code Playgroud)
mystring是一个包含双引号但我用反斜杠正确转义它们的字符串.为什么会失败?
我注意到它在这个在线JSON解析站点上传递正常:json解析器
该\角色是JavaScript 和 JSON 的转义字符.
当JavaScript解析器解析字符串文字时,它会将\"JavaScript源代码转换"为字符串.
当JSON解析器解析字符串时,它会发现未转义"和错误.
要包含\"在JSON数据中,您需要转义\JavaScript字符串文字:\\".
var jsobj = JSON.parse('{"lineID":11,"siteID":3,"mystring":"this is a \\"Test\\" string with quotes"}');
console.log(jsobj);Run Code Online (Sandbox Code Playgroud)
嵌套数据格式总是很痛苦.尽可能避免这样做.
首先在JavaScript中包含一个包含JSON的字符串文字是没有意义的.
JSON是JavaScript的一个子集.只需将JSON用作JavaScript文字即可.
var jsobj = {
"lineID": 11,
"siteID": 3,
"mystring": "this is a \"Test\" string with quotes"
};
console.log(jsobj);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
781 次 |
| 最近记录: |