此次学习JSON---解决了项目实战中的疑惑
--JSON:JavaScript Object Notation JS对象表示法,
*JS中的对象只有JS自己认识,其他的语言都不认识
*JSON就是一个特殊格式的字符串,这个字符串可以被任意语言识别,并且可以转换为任意语言中的对象,因此我们可以把JS对象传到其他语言中,也可以将其他语言的对象发到JS中。
*JSON在开发中主要用于数据的交互
*JSON和JS对象的格式一样,只不过JSON字符串中的属性名必须加双引号,其他的和JS语法一致。
var obj = {name:"孙悟空",age:18,gender:"女"};//JS写法
var obj1 = '{"name":"孙悟空","age":18,"gender":"女"}'; //JSON格式
--JSON分类:
1、对象{}
var obj1 = '{"name":"孙悟空","age":18,"gender":"女"}';
2、数组[]
var arr = '[123,"hello","你好",true]';
--JSON中允许的值:
1、字符串
2、数值
3、布尔值
4、null
5、对象
var arr1 = '[{"name":"孙悟空","age":18,"gender":"女"},{"name":"孙悟空","age":18,"gender":"女"}]';
6、数组
var obj2 = '{"name":[1,3,4]}';
--假如服务器端向JS发送JSON数据,我们则需要将JSON 字符串转换为JS对象。
在JS中,为我们提供了一个工具类,就叫JSON,这个工具可以将一个JSON转化为JS对象,也可以将JS对象转换为JSON。
/**
* JSON.parse()可以将JSON字符串转化为js对象并返回
* -它需要一个JSON字符串作为参数
*/
var o = JSON.parse(obj1);
//转换成功后可以通过对象.属性名来获取属性值
console.log(o.name);
--JS对象转化为JSON字符串
在JS中,使用JSON.stringify(),它需要一个js对象作为参数,并返回一个JSON字符串
var obj = {name:"孙悟空",age:18,gender:"女"};
var str = JSON.stringify(obj);
console.log(str.name); //此时会显示undefined