🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## JSON对象 JSON 格式(Javascript Object Notation),是一种用于数据交换的文本格式。 简单的说,每个 JSON 对象就是一个值。要么是简单类型的值,要么是复合类型的值。 JSON 对值的类型和格式是有严格要求的。 > 1.复合类型的值只能是数组或对象,不能是函数、日期对象、正则表达式等。 > 2.简单类型的值包括:字符串、数值、布尔值和null(不能使用NaN/undefined)。 > 3.字符串必须使用双引号表示,不能使用单引号,或者没有双引号。 > 4.对象的键必须放在双引号里。 > 5.数组或对象的最后一个成员后面不能加逗号。 ~~~javascript // 不合法的JSON对象 var obj = {name:"",age:20}; // 对象键放在双引号中 {"name":"zhangsan","age":undefined} // 不能出现undefined {"name":"zhangsan","age":function() { alert(""); }} // 不能出现函数 // 合法的JSON对象 {"name":"zhangsan"} ["name","age"] [{},{}] ~~~ ### 1.JSON对象和JSON字符串的转换。 > 在数据传输中,JSON是以字符串形式传递的,而JS操作的是JSON对象。 * `JSON.stringify`方法是用于将一个值转为字符串。该字符串符合 JSON 格式要求,并且可以通过`JSON.parse`方法还原。 * `JSON.parse`方法将 JSON 字符串转化为对象。 ~~~ var jsonStr = '{"name":"Lisa","password":"123"}'; var jsonObj = {"name":"Lisa","password":"123"}; // lg(jsonStr); // lg(jsonObj); //String转化为JSON对象 var jsonObject = JSON.parse(jsonStr); // lg(jsonObject); //将对象转回字符串 var jsonstr = JSON.stringify(jsonObject); lg(jsonStr); ~~~ ### 2.JSON的美化输出 `JSON.stringify`的第三个参数,可以指定缩紧的空格数。 ~~~ var format = JSON.stringify(jsonObject,undefined,2); lg(format); ~~~