【发布时间】:2015-11-15 14:21:38
【问题描述】:
Javascript 无法读取这个 json 字符串,因为它包含一个单引号字符,它被视为字符串的结尾。
如何转义单引号,使其不被视为字符串的结尾?
var json = '{"1440167924916":{"id":1440167924916,"type":"text","content":"It's a test!"}}';
var parsed = JSON.parse(json);
【问题讨论】:
-
为什么要写出一个序列化为 JSON 的对象,然后在下一行对其进行解码?只需编写一个对象文字。根本不需要将您的对象放在字符串中。
-
有趣的是,当有人问一个简单的 js 问题时,如何在同一分钟内有大量相同的答案。这肯定是重复的。
-
这与 JSON 无关。问题是您在用单引号分隔的 JavaScript 字符串文字中有一个单引号。字符串包含 JSON 的事实是无关紧要的。 (为什么你要写一个 JSON 的静态字符串然后解析它,为什么不直接从边缘删除引号并将其视为 JavaScript 对象文字?)
-
@Fuser97381 不,这不是解决方案。只是在php输出json之前去掉外层单引号。
-
他正在为您提供正在发生的事情以及如何重现它的示例 - 如果他没有,您肯定会抱怨。对它进行更抽象的思考。数据中有一个撇号。也许更好的问题是“我应该如何编码这些数据以消除撇号的问题?”
标签: javascript json formatting