接收到的数据类型
String / *** ON 字符串/ *** ON 对象
*** ON 对象直接循环使用
*** ON 字符串转 *** ON 使用
String 直接使用
如何处理数据
1、字符串转对象
之一种方式:eval();
var data='{"student":[{"name":"张三","age":"11"},{"name":"李四","age":"11"},{"name":"王五","age":"11"}]}’;
eval(’(“+data+”)’);
第二种方式: *** ON.parse();
var data='{"student":[{"name":"张三","age":"11"},{"name":"李四","age":"11"},{"name":"王五","age":"11"}]}’;
*** ON.parse(data);
与 eval()区别
eval() *** 不会去检查给的字符串时候符合 json 的格式~同时如果给的字符串中存在 js 代码 eval()也会一并执行~比如:
var data='{"student":[{"name":"张三","age":"11"},{"name":"李四
","age":"alert(11)"},{"name":"王五","age":"11"}]}’;
此时执行 eval *** 后会先弹出一个提示框输出 11 的字符串;这时候使用 *** ON.parse()就会报错,显示错误信息为当前字符串不符合 json 格式;即 *** ON.parse()方***检查需要转换的字符串是否符合 json 格式相比而言 eval() *** 是很不安全,特别是当涉及到第三方时我们需要确保传给 eval()的参数是我们可以控制的,不然里面插入比如window.location~指向一个恶意的连接总的来说,还是推荐使用 *** ON.parse()来实现 json 格式字符串的解析。
2、对象转字符串
*** ON.stringify(json)