var js = {
name = '张三',
age = 10
}
var json = {
"name" = '李四',
"age" = 20
}
像以上这两个例子 我听人家说属性名不加引号的,是JS对象; 加引号的,是json格式;
是这个意思吗?还是说它们另有区别
不是=号,是:号
差点被带坏。
json 格式里说明了 key 是一个 string , string 的格式是以 ‘ " ’ 开头,并且以 ‘ " ’ 结尾 (单引号不算啊);
你上面两个都是js对象,说第二个是json的你可以保证不打死他了。
json是一种数据交换格式,至少是个字符串。如果是 var t = "{\"name\" : \"李四\", \"age\" : 20}"; 这样可以说 t是一串json格式的字符串
标准写法是键加双引号
加引号是为了处理特殊字符。
比如,如果key值中有短横线,就必须要加一个引号了。否则会报错。
{"full-name":'张三'} 这样写没问题,但是不加引号,就会报错。
对应的是JavaScript object中的属性写法。
比如说,为一个对象添加一个带有特殊字符的属性。
var obj = new Object();
obj["full-name"] = '张三';
这样写可以通过,但是如果用点来赋值 就会报错。
obj.full-name = '张三'; //报错
aaaaa