在json文件写数组的时候,如果数组的字符串使用单引号包住的时候,会导致获取到的json文件不能通过JSON.parse()进行转码,然后在 json官网 发现了,字符串是必须要用双引号的。

》 今天遇到双引号和单引号的问题:

json就是一段有格式的字符串,如果数据的封装与解析都是我们自己做的时候,单引号和双引号是没啥关系的,但是如果用到一些别的json相关的库的时候,或者像笔者这样是发给别人用的时候,这个就特别需要注意了!

所以应该养成良好的习惯,用json的时候请用双引号吧!

》 正确的JSON是这样的:属性名必须用双引号包裹

var json = '{"name":"imooc"}'; // 这个是正确的JSON格式

var json = "{\"name\":\"imooc\"}"; // 这个也是正确的JSON格式

var json = '{name:"imooc"}'; // 这个是错误的JSON格式,因为属性名没有用双引号包裹

var json = "{'name':'imooc'}";//这个也是错误的JSON格式,属性名用双引号包裹,而它用了单引号

// 检验JSON格式是否正确,可以使用 JSON.parse(json); 如果是正确的JSON格式,会返回一个对象

// 否则会报错

// 如果是对象的话,属性名可以不用双引号包裹

var obj = {name:"imooc"};

var obj = {"name":"imooc"};

var obj = {'name':'imooc'};

var obj = {"name":'imooc'};

var obj = {'name':"imooc"};

// 上述写法都是正确的。一般使用第一种形式最多,有些人可能为了保证跟JSON格式的字符串保持一致性,

// 也会使用第二种形式。。最后3种形式虽然是正确的,但不建议使用,容易挨打

1、json格式一般包括七部分组成:[ ](中括号) 、{}(大括号)、key、value、:(冒号)、''(单引号)、""(双引号)。

2、json格式在解析时是按照如上的格式从左到右解析的,如果遇到格式不对就会报错。如多个空格,多个引号或非字符。

3、如果json的数据较多在出错时就很难查找问题所在,建议模仿二分法将json字符一份为二逐步排除。

 

参考文章:https://blog.csdn.net/shareus/article/details/50429006

GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e 4 个月前
8c391e04 6 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐