如何正确声明一个json字符串?

Posted

技术标签:

【中文标题】如何正确声明一个json字符串?【英文标题】:How to declare a json string correctly? 【发布时间】:2011-04-28 21:18:40 【问题描述】:

所以我测试了两种声明json字符串的方式:

1:

json = "'name': 'ajsie'";
obj = JSON.parse(json); // SyntaxError: Unexpected token ILLEGAL

2:

json = '"name": "ajsie"';
obj = JSON.parse(json); // Worked!

第一个有什么问题?

【问题讨论】:

【参考方案1】:

'key' : 'val' 的 json 格式不正确。

【讨论】:

【参考方案2】:

http://www.json.org/ 是 JSON 的一个很好的参考。显然,您必须对 JSON 中的字符串使用双引号。我今天也学到了一些新东西。 :)

【讨论】:

【参考方案3】:

查看http://www.json.org/

JSON 对象中的字符串必须用双引号括起来。

【讨论】:

好的,当我在 Chrome 中运行“asd”时,它会自动将其转换为“asd”。所以我觉得没问题。 是的,这是一个棘手的错误@weng。人们会认为单引号和双引号与其他任何地方一样可以互换。【参考方案4】:

json.org 定义了一个字符串以使用 " 而不是 '。这是我的猜测。

【讨论】:

【参考方案5】:

单引号不是字符串的有效引号字符。来自http://www.json.org/:“值可以是双引号中的字符串……”

【讨论】:

以上是关于如何正确声明一个json字符串?的主要内容,如果未能解决你的问题,请参考以下文章

如何在json中声明两个数组?

这是一个正确的 JSON 字符串吗?

如何在python中将字符串列表转换为格式正确的json? [复制]

如何正确地将 JSON 字符串反序列化为包含另一个类的嵌套列表的类

如何正确使用javascript反序列化将json字符串转换为复杂对象?

如何正确接收 Pubsub JSON 数据?