JavaScript操作JSON
Javascript可以直接定义一个JSON对象:
<script type="text/javascript"> var obj = {"name":"大明","age":38}; window.console.log(obj); </script> 1234
在JSON对象中还可以定义JS函数
<script type="text/javascript"> var obj = {"name":"大明","age":8,"add":function(x,y){return x+y}}; window.console.log(obj.add(10,20)); </script> 1234
遍历输出JSON中的全部内容
<script type="text/javascript"> var obj = {"name":"大明","age":8,"ariety":"哮天犬"}; for(var x in obj){ window.console.log("x:"+obj[x]); } </script> 123456
将文本变为JSON对象使用eval()函数完成。
<script type="text/javascript"> var str = "{"address":"xx省xx市","name":"GUB宠物商店"," + ""partners":["大郎炊饼店","肥犬美容会所","大名护理中心"]," + ""pets":[{"id":1,"name":"旺财","price":33.6,"specie"" + ":"拉布拉多"},{"id":2,"name":"大明","price":250.38," + ""specie":"品种独特"}]}n"; var obj = eval("("+str+")");//文本对象变为JSON对象 window.console.log('店名:'+obj['name']); window.console.log('地址:'+obj['address']); window.console.log('-----------------------------'); for(var x in obj.partners){ window.console.log("商业伙伴-"+x+":"+obj.partners[x]); } window.console.log('-----------------------------'); for(var x in obj.pets){ var pet = obj.pets[x]; window.console.log("t|-宠物编号:"+pet['id']); window.console.log("t|-宠物名:"+pet['name']); window.console.log("t|-宠物品种:"+pet['specie']); window.console.log("t|-价格:"+pet['price']); window.console.log('t-----------------------------'); } </script>
1234567891011121314151617181920212223
但是使用eval()函数将字符串变为JSON对象实际上市不安全的,eval()函数可以执行转换字符串中的代码。
var num = 6; var str = "{"count":num++}"; var obj = eval("("+str +")"); window.console.log(num); 1234