javascript - JSON解析字符串文字中的双引号

标签 javascript json

<分区>

我在解析字符串文字中的引号时遇到问题。

var lit = '{"foo":"test \"1\"","bar":"test 2"}';

在控制台中,这会给出错误“未捕获的异常”。 我期待:

Object {foo: "test "1"", bar: "test 2"}

这是我的 fiddle https://jsfiddle.net/bruceradtke/kor8amm5/4/

如果我将 stringify 结果分配给变量然后 解析那个变量。但如果我像上面那样使用字符串文字,则不会。

谢谢。

我的代码:

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);

关于javascript - JSON解析字符串文字中的双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29416529/

相关文章:

javascript - jQuery 函数反弹元素 - 不是很顺利

javascript - 以数学方式表示没有本地存储的时间百分比

javascript - 页面幻灯片的问题

ruby-on-rails - Rails Active 模型序列化器返回数组而不是 json

json - row_to_json 给出带有小写字段名称的 JSON

java - 我可以在反序列化时使用映射的 Jackson Mixin 属性来创建 JSON 子类吗?

json - 使用 httparty ruby​​gem 发出 api 请求时如何处理分页

javascript - 为什么图像不能在 css 中水平显示?

javascript - 使用通用名称 'class' 过滤 DOM 中的元素并在其上应用 CSS - JQuery

javascript - 用于更新用户详细信息的 Angular 表单提交 - 失败