如何构建这个json?

时间:2013-01-23 03:40:40

标签: javascript json

[{"username" : "11"},
      {"password" : "test"},
      {"detailorder" : [
        {"id" : "1",
         "qty" : "5"},
        {"id" : "2",
         "qty" : "10"}
      ]}
    ]

我如何在javascript中创建json以上?我对json的理解很少。我参考了How do i build JSON dynamically in javascript?。我需要在dinamically添加数据,特别是detailorder。但我从一开始就坚持下去。

我写了

var datajson = [];

我不知道接下来该怎么写。对不起,我的英语不好。谢谢

4 个答案:

答案 0 :(得分:2)

创建数组,将其分配给变量并对其进行字符串化。

以下是:

var arr = [
   { username:'11' },
   { password:'test' },
   { detilpesanan: [
       { id:'1',jumlah:'5' },
       { id:'2',jumlah:'10' }
   ]}
];

var json = JSON.stringify(arr);

答案 1 :(得分:1)

你的意思是:

var datajson = [
    { "username" : 11 },
    {"password" : "test"},
    {"orderdetail" : 
        { 
            "id": 1,
            "qty": 25           
        },
        { 
            "id": 2,
            "qty": 10           
        }
    }
];

<强>加了:

var datajson = {};
datajson.username = 11;
datajson.password = "test";
datajson.detilpesanan = [];
datajson.detilpesanan.push({});
datajson.detilpesanan.unshift({});
datajson.detilpesanan[0]["id"] = 1;
datajson.detilpesanan[0]["jumlah"] = 5;
datajson.detilpesanan[1]["id"] = 2;
datajson.detilpesanan[1]["jumlah"] = 10;

console.log( datajson );

答案 2 :(得分:0)

我想建议让事情变得更容易。首先,您需要使用jquery或任何其他提供json解析和endcoding的javascript库。然后在javascript上将该结构创建为标准对象。使用jquery(或您选择的任何javascript库),将它编码为JSON字符串。

我多年来一直在使用JSON格式,但我几乎无法回想起自己写下来的必要性。也许有实例,但我认为我没有将它用于实际实现。

您也可以访问json.org,下载可用的解析器和编码器。

我希望有所帮助。

答案 3 :(得分:0)

您可以看到:http://www.json.org/js.html

JSON(Javascrtip序列化对象)是一个序列化对象类型,因此您无法创建对象,然后序列化此对象,如下所示:

        function createPerson()
        {
            var persons = new Array();

            for(i=0; i<3; i++)
            {
                var details = new Array();

                for(k = 0; k<2;k++)
                {
                    var det = new persondetail(k,k*2);
                    details.push(det);
                }

                var p = new person('user'+i,'pdw'+i,details);

                persons.push(p);
            }

                            //-- serialize object, see console output
            console.log(JSON.stringify(persons));

        }

        function person(user, pwd,det)
        {
            this.username = user;
            this.password = pwd;
            this.detilpesanan = det;

        }

        function persondetail(id, jumlah)
        {
            this.id = id;
            this.jumlah = jumlah;
        }