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

我如何在javascript中创建上面的json?我对json的理解非常低。我参考了 如何在 javascript 中动态构建 JSON?. 我需要动态地添加数据,尤其是对于 detailorder。但我从一开始就卡住了。

我写

var datajson = [];

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

4

4 回答 4

2

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

方法如下:

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

var json = JSON.stringify(arr);
于 2013-01-23T04:08:15.093 回答
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 );
于 2013-01-23T03:47:17.100 回答
0

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

多年来我一直在使用 JSON 格式,但我几乎不记得需要自己写下来。也许有实例,但我认为我没有将它用于实际实现。

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

我希望这有帮助。

于 2013-01-23T03:50:45.830 回答
0

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

JSON(Javascrtip Serialization Object)是一种序列化对象类型,所以不能先创建对象再序列化这个对象,像这样:

        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;
        }
于 2013-01-23T04:41:29.667 回答