》 今天遇到双引号和单引号的问题:
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字符一份为二逐步排除。