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种形式虽然是正确的,但不建议使用,容易挨打

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

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

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

展开阅读全文

没有更多推荐了,返回首页