我在解析字符串文字中的引号时遇到问题。
var lit = '{"foo":"test \"1\"","bar":"test 2"}';
在控制台中,这会给出错误“未捕获的异常”。
我期待:
Object {foo: "test "1"", bar: "test 2"}
这是我的小提琴https://jsfiddle.net/bruceradtke/kor8amm5/4/ https://jsfiddle.net/bruceradtke/kor8amm5/4/
如果我将 stringify 结果分配给变量然后就可以了
解析该变量。但如果我像上面那样使用字符串文字,则不会。
Thanks.
My code:
var myobject = {};
myobject.foo = "test \"1\"";
myobject.bar = "test 2";
var sresult = JSON.stringify(myobject);
console.log('stringify=' + sresult);
// OK
var thaw = JSON.parse(sresult);
console.log( thaw);
var lit = '{"foo":"test \"1\"","bar":"test 2"}';
console.log(lit);
// Broken
var thaw2 = JSON.parse(lit);
请记住,您正在转义两个字符串文字:一个用于声明属性,另一个用于声明变量(lit
)。所以你需要转义你的转义字符:"test \\"1\\""
var lit = '{"foo":"test \\"1\\"","bar":"test 2"}';
console.log(lit);
var thaw2 = JSON.parse(lit);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)