在使用 JSON(JavaScript Object Notation)这种数据格式时,经常会涉及到单双引号的问题。JSON 对象中的键名必须用双引号包括,而值可以使用双引号或单引号。
{ "name": "张三", 'age': 18 }
在实践中,建议始终使用双引号来包含 JSON 中的字符串值,因为单引号不被 JSON 规范接受。
另外,如果单独使用 JSON.parse() 函数将 JSON 字符串解析为对象时,使用双引号或单引号并没有本质的区别。但是在使用 JSON.stringify() 函数将 JS 对象转为字符串时,该对象中使用了双引号,转换出来的字符串也就使用双引号作为 JSON 的分隔符。
const person = { "name": "张三", "age": 18 }; const jsonStr = JSON.stringify(person); console.log(jsonStr); // 输出 "{"name":"张三","age":18}"
总之,关于 JSON 的单双引号问题,遵循规范就好。键名必须使用双引号,而值只是建议使用双引号,但如果不使用双引号也不会发生错误。