justmyfreak
justmyfreak

Reputation: 1270

How to build this json?

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

How di I create above json in javascript? I have very low understanding in json. I reffered to How do i build JSON dynamically in javascript?. I need to add data dinamically especially for detailorder. But I' stuck from beginning.

I wrote

var datajson = [];

And i dont know how to what to write next. Sorry for my bad english. Thanks

Upvotes: 0

Views: 166

Answers (4)

Joel Kornbluh
Joel Kornbluh

Reputation: 1437

Create the array, assign it to a variable and stringify it.

Here is how:

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

var json = JSON.stringify(arr);

Upvotes: 2

greg
greg

Reputation: 117

You can see: http://www.json.org/js.html

JSON (Javascrtip Serialization Object) is a serialization object type, so you cant create objects and then serialize this object, like this:

        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;
        }

Upvotes: 0

Sudhir Bastakoti
Sudhir Bastakoti

Reputation: 100195

do you mean like:

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

Added:

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 );

Upvotes: 1

user2002500
user2002500

Reputation: 11

I'd like to suggest something to make it easier. First, you will need to use jquery, or any other javascript library that provides json parsing and endcoding. Then create that structure as a standard object on javascript. Use jquery ( or whatever javascript library you chose ), to encode it into a JSON string for you.

I have been using JSON format for years now, but I can barely recall the need to write it down myself. Maybe there were instances, but I think I did not use it for the actual implementation.

You can also go to json.org, and download parsers and encoders available.

I hope that helped.

Upvotes: 0

Related Questions