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

    追崇技术,乐在分享!
  • 相关阅读:
    寒假学习进度15
    寒假学习进度14
    寒假学习进度13
    Markdown使用笔记
    MVC
    阅读笔记大型网站技术架构01
    周总结1大数据采集技术与应用(徳拓)五次实验总结
    阅读笔记架构漫谈03
    质量属性易用性分析
    阅读笔记架构漫谈02
  • 原文地址:https://www.cnblogs.com/victorlyw/p/8706658.html
Copyright © 2011-2022 走看看