(1)json的解析:
第一种方法(JSON.parse()):
var text = '{ "sites" : [' +
'{ "name":"Runoob" , "url":"www.runoob.com" },' +
'{ "name":"Google" , "url":"www.google.com" },' +
'{ "name":"Taobao" , "url":"www.taobao.com" } ]}';
obj = JSON.parse(text);
document.getElementById("demo").innerHTML = obj.sites[1].name + " " + obj.sites[1].url;
第二种方法(eval()):
obj = eval("("+text+")")
表达式用括号的作用是为了eval()不把字符串当成表达式运行,,而是将字符串转换成一个对象。
总结:parse和eval都可以用,要注意的就是eval要加括号,不然很有可能运行到恶意的木马代码块。而parse是当字符串的格式不是为json格式就不会运行的。这两个方法都是在获取字符串时没有指定数据类型才使用,如果使用jq获取,就指定数据类型,然后用each遍历就可以了。
(2)xml的解析:方法有点复杂,还是用jq吧。