zoukankan      html  css  js  c++  java
  • js如何生成一个对象,并转化为json字符串

    js如何生成一个对象,并转化为json字符串,很多人都会误写为:

    var ary = []; 
    var obj = {};
    for (var i = 0; i < 3; i++) {
       obj.name = "name";
       obj.age = 10;
       obj.obj = i;
       ary.push(obj);
    }
    var json = JSON.stringify(ary);
    console.log(json);
    
    //输出为
    /**
     * [{"name":"name","age":10,"obj":2},{"name":"name","age":10,"obj":2},{"name":"name","age":10,"obj":2}]
     *
     **/

    正确写法:

    var ary = []; 
    for (var i = 0; i < 3; i++) {
       var obj = {};
       obj.name = "name";
       obj.age = 10;
       obj.obj = i;
       ary.push(obj);
    }
    var json = JSON.stringify(ary);
    console.log(json);
    
    //输出为
    /**
     *[{"name":"name","age":10,"obj":0},{"name":"name","age":10,"obj":1},{"name":"name","age":10,"obj":2}]
     *
     **/

    PS: 在JS定义出来的变量是Object对象,分配的是一块内存空间,你将这个对象插入到一个数组中,也是在数组内开辟一个空间指向这块内存,你在遍历是数组的容量是一直增大,但是都是指向与同一块内存对象,所以他们的值是一样的,而且是这个对象最后修改的那个值,所以最后数组的值一样,将对象在循环里面定义,则是我们想要的结果

    追崇技术,乐在分享!
  • 相关阅读:
    [轉]jquery选择器完整介绍
    Jquery表单处理
    javascript中正则表达式中的问号(?) 总结
    Jquery性能问题总结
    MongoDB安装与配置
    MySql 5.x Version Update时用到select时发生的问题
    Sql總結
    Jquery总结
    Update + Select
    AutoCAD C#二次开发
  • 原文地址:https://www.cnblogs.com/victorlyw/p/8706658.html
Copyright © 2011-2022 走看看