JavaScript操作JSON

JavaScript操作JSON

Javascript可以直接定义一个JSON对象:

<script type="text/javascript">
    var obj = {"name":"大明","age":38};
    window.console.log(obj);
</script>


在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>


遍历输出JSON中的全部内容

<script type="text/javascript">
    var obj = {"name":"大明","age":8,"ariety":"哮天犬"};
    for(var x in obj){
        window.console.log("x:"+obj[x]);
    }
</script>


将文本变为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>


但是使用eval()函数将字符串变为JSON对象实际上市不安全的,eval()函数可以执行转换字符串中的代码。

var num = 6;
var str = "{\"count\":num++}";
var obj = eval("("+str +")");
window.console.log(num);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值