JSON前台转换
前台得到后台传过来的JSON,请注意!js里拿到的绝对是字符串!字符串!字符串!
直接拿字符串按照json的方法取参数是没用的。
1. 前台解析,字符串转换为JSON,方便js中取值
JSON.parse()
缺陷:parse校验太严格了,必须都引号引起来。内部必须都加双引号字符串。可以考虑用eval()[两个小括号,内部字符串,只要符合json格式就可以]
参考代码:
var jsontext = '{"firstname":"Jesper","surname":"Aaberg","phone":["555-0100","555-0120"]}';
var contact = JSON.parse(jsontext);
document.write(contact.surname + ", " + contact.firstname);
document.write(contact.phone[1]);
2. 值转换为字符串[拼接用]
[值可以是数组,也可以是其他对象,拼接好了字符串,再转换为JSON啊!!!!]
JSON.stringify()[很常用]
参考代码:
var arr = ["a", "b", "c"];
var str = JSON.stringify(arr);
document.write(str);
var newArr = JSON.parse(str);
while (newArr.length > 0) {
document.write(newArr.pop() + "<br/>");
}