如题。JSON格式例子:[{"a":{"b":1,"c":2}},{"b":{"a":3}},{"b":{"b":4,"c":5}}]

解决方案 »

  1.   

    无非就是array.push
    object[attr] = "some" var json = [
    {
    "a":{
    "b":1,
    "c":2
    }
    },
    {
    "b":{
    "a":3
    }
    },
    {
    "b":{
    "b":4,
    "c":5
    }
    }
    ];
    var data = {
    "c": {
    "b":4,
    "c":5
    }
    };
    json.push(data);
    alert( json[3].c.c )
      

  2.   


    var data = {
                    "c": {
                        "b":4,
                        "c":5
                    }
                };这个对象是如何创建的?里面的全是变量哦,"c"和"b"都是变量。
      

  3.   


    var json = [
                    {
                        "a":{
                            "b":1,
                            "c":2
                        }
                    },
                    {
                        "b":{
                                "a":3
                            }
                    },
                    {
                        "b":{
                                "b":4,
                                "c":5
                            }
                    }
                ];
    var b = 'test';
    var c = '123';
                var data = '{"'+b+'": "'+c+'"}';
    data = eval('('+data+')')
                json.push(data);
                alert( json[3][b] )楼主 这个意思?
      

  4.   

    var data = {};
    var x = 'c';
    var y = 'b';var o = {};
    o[y] = 4;
    o[x] = 5;
    data[x] = o;
      

  5.   


    var json = {};
    json.first = {};
    json.first.a = "xx";
    json.first.b = "xxx";
    json.second = {c:"xx",
                  d:"xxx"
    };
      

  6.   


    那么,如何在创建data对象之后再往里面push一个对象呢?
    使data变成{"c":{"b":4,"c":5},"d":{"e":4,"f":5}}
      

  7.   

    var data = {};
    var x = 'c';
    var y = 'b';var o = {};
    o[y] = 4;
    o[x] = 5;
    data[x] = o;x = 'd';
    y = 'e';
    z = 'f';o = {};
    o[y] = 4;
    o[z] = 5;data[x] = o;
      

  8.   

    JS的对象是一种哈希表结构,可以通过 obj.属性名 或者 obj['属性名'] 这两种形式来设置/返回属性值。如果属性名保存在一个变量中,就只能使用后一种方式了。
      

  9.   

    还有2个问题:
    1、既然增加了新的对象进去了,那么怎么删除掉data里面随便一个对象?
    2、不知道三维的甚至n维的对象要怎么创建、增加、删除呢?
      

  10.   

    var data = {};
    var x = 'c';
    var y = 'b';var o = {};
    o[y] = 4;
    o[x] = 5;
    data[x] = o;x = 'd';
    y = 'e';
    z = 'f';o = {};
    o[y] = 4;
    o[z] = 5;data[x] = o;/*
    {
    c: {
    b: 4,
    c: 5
    }
    ,
    d: {
    e: 4,
    f: 5
    }
    }
    *///增加属性
    data.d.g = [1,2,3];
    data.d.g.push({h: 100});//删除属性
    delete data.c;
    /*
    data
    Object
    d: Object
    e: 4
    f: 5
    g: Array[4]
    0: 1
    1: 2
    2: 3
    3: Object
    h: 100
    */
      

  11.   

    delete data.c;  好像只是把c置为null吧?并不是把整个c从对象里面移除吧?
    如果仅仅是置为null,我可不想在遍历他的时候冒出个null,虽然说可以用for in解决,但还是怕在某些情况下影响了使用。
      

  12.   


    http://www.w3school.com.cn/js/pro_js_operators_unary.asp
      

  13.   

    delete data.c;
    for (var k in data) alert(k);  //d,很明显,data对象的属性c已经被移除了。
      

  14.   


    c为空了不就是删除了这个属性?
    直接data.c=undefind也是同样效果。
    js是弱类型,对象某个属性有赋值,未赋值,null几种状态,所谓删除,无非就是让该属性值为undefindvar obj={};
    alert(obj.a);//弹出undefind
    obj.a=1;
    alert(obj.a);
    obj.a=undefind;
    alert(obj.a);//弹出undefind,与未进行定义(赋值)的时候是一样的,属性已经移除