jda*_*awg 4 javascript json syntax-error
在JSON解析函数中转义引号时,我遇到了一个常见的问题.如果存在转义引用,在这种情况下为'test'',则会导致以下错误'SyntaxError:JSON Parse error:Unterminated string'.
var information = JSON.parse('[{"-1":"24","0":"","1":"","2":"","3":"0.0000","4":"","5":"0.00","6":"0.00","7":"1.00","8":"0","9":"false","10":"false","11":[""],"12":"","13":"","14":"test\""}]');
JSON Lint将JSON验证为有效.
你必须双倍逃避它,如同 "test\\""
var information = JSON.parse('[{"-1":"24","0":"","1":"","2":"","3":"0.0000","4":"","5":"0.00","6":"0.00","7":"1.00","8":"0","9":"false","10":"false","11":[""],"12":"","13":"","14":"test\\""}]');
document.body.innerHTML = '<pre>' + JSON.stringify(information, null, 4) + '</pre>';
Run Code Online (Sandbox Code Playgroud)
第一个反斜杠转义为javascript字符串文字中的第二个反斜杠.第二个反斜杠会转义JSON字符串文字中的引号.
所以它被解析了两次,需要两次转义.
所以,即使它是有效的JSON,你也需要一个转义为javascript字符串文字,它逃脱了JSON中使用的转义.
归档时间: |
|
查看次数: |
27046 次 |
最近记录: |