JSON 数据(字符串):
一般后台返回的数据都是 JSON 数据(字符串),是一种数据格式,整个最外层都是带 引号 的。
规定:JSON属性名称必须有双引号,如果值是字符串,也必须是双引号。
加引号是为了处理特殊字符。比如,如果key值中有短横线,就必须要加一个引号了。否则会报错。
{"full-name":'张三'} //这样写没问题,但是不加引号,就会报错。
{full-name:'张三'} // Uncaught SyntaxError: Unexpected token -
JavaScript 中对象属性写法:
// 比如说,为一个对象添加一个带有特殊字符的属性
var obj = new Object();
obj["full-name"] = '张三'; // 这样写可以通过,但是如果用点来赋值,就会报错。
obj.full-name = '张三'; //报错
以下 a 属性名不带双引号虽然不会报错,但是为了规范属性名还是要加双引号
json:'{"a":0}' 和 '{a:0}'
js对象: {"a":0} 和 {a:0}
如果要对 json 数据进行处理,一般要用 JSON.parse(data) 将其转换为 javascript对象。
js对象是存在于浏览器的一个对象,所以后端是不可以返回 js 对象的,只能用 数据交互 (字符串形式)。
var a = '{"name":"wcq","pwd":"123"}'; //注意最外层是单引号
var b = JSON.parse(a); // 转化为 js 对象
console.log(b) => {name:"wcq", pwd:"123"} //现在才可以对对象进行操作。
var c = JSON.stringify(b); // 转化为 json 字符串