什么是JSON?
JSON:JavaScript Object Notation 是一种轻量级数据交互格式。
数据交互:每一种语言的编程都不一样,他们之间互不认识,但是现在的情况是不同的语言开发的系统也需要进行数据的交互,这个时候就需要一种大家都认识的语言或技术来实现
取:将数据渲染到dom文档中
给:提交数据到后台后,后台会继续返回我们一个数据,拿到这个数据,然后渲染页面
JSON的数据声明
声明:
var json_obj = {"key":"value","key":"value",...........} // key: 用双引号包含的字符串 // value: 数据---- 数值型,字符串,数组,json对象
JSON 的本质:JSON 是JS对象的字符串表达法,它使用文本表示一个JS对象的信息,本质是一个字符串
JSON对象转JSON字符串
前端的ajax请求,最后接收到的都是字符串 ---responseText,以字符串形式接收后端返回的数据
JSON格式的字符串转为JSON对象
var str = '{"name":"小明","age":18}'; 1. var json = JSON.parse(str); 2. var json = eval("(" + str + ")"); 3. var json = (new Function("return " + str))();
以上三种方法都可以转换成object
JSON.parse(JSON格式的字符串)
JSON.parse()方法用来解析JSON字符串,构造由字符串描述的JavaScript值或对象。提供可选的 reviver 函数用以在返回之前对所得到的对象执行变换(操作)。
eval()方法
eval() 函数可将字符串转换为代码执行,并返回一个或多个值
eval调用时,实例为eval( "( javascript代码 )" )
var str = "function(){alert('a');}“; str = eval("("+str+")"); str();
eval()的返回值
eval()的返回值遵循以下规则:
1.如果eval()的参数不是字符串,那么eval()将直接返回参数。
2.如果eval()的参数是字符串,那么eval()将这个字符串解析成代码后进行执行,并返回最后一行代码执行的结果。
3.如果字符串无法解析成合法的代码,eval()将抛出SyntaxError错误。
json对象转为json格式的字符串: JSON.stringify(json对象);
a