Reputation: 23
I've a question about converting a JSON array. Been stuck a couple of hours, can't figure it out. I've got a JSON array like this:
[
{
"id": 1,
"client": "Marcel",
"starttime": "15:00:00",
"endtime": "21:00:00",
"date": "22-09-2017",
"weeknumber": 38,
"zipcode": "3831BC",
"housenumber": 2,
"hncharacter": "",
"place": "Leusden",
"Salary": 135.13
},
{
"id": 2,
"client": "Peter",
"starttime": "13:00:00",
"endtime": "19:30:00",
"date": "23-09-2017",
"weeknumber": 38,
"zipcode": "3831BC",
"housenumber": 2,
"hncharacter": "",
"place": "Leusden",
"Salary": 194.87
},
{
"id": 3,
"client": "Marcel",
"starttime": "01:45:00",
"endtime": "09:00:00",
"date": "24-09-2017",
"weeknumber": 38,
"zipcode": "3831BC",
"housenumber": 2,
"hncharacter": "",
"place": "Leusden",
"Salary": 252.01
}
]
And I try to have for each object a separate list. so for the first object:
list1 = [1, "Marcel", "15:00:00", "21:00:00", "21-09-2017", 38, "3831BC", 2, "", "Leusden", 135.13]
I tried this:
$.get("restservices/salaries", function(data) {
for (var i = 0; i < data.length; i++) {
a.push(data[i].client);
console.log(a);
}
})
But that puts the values of all objects in 1 list, the output is
["Marcel", "Peter", "Marcel"]
But what I want is:
["Marcel"]
["Peter"]
["Marcel"]
Upvotes: 1
Views: 71
Reputation: 493
You can try this also.
let users = [{"id": 1,"client": "Marcel","starttime": "15:00:00","endtime": "21:00:00","date": "22-09-2017","weeknumber": 38,"zipcode": "3831BC","housenumber": 2,"hncharacter": "","place": "Leusden","Salary": 135.13},
{"id": 2,"client": "Peter","starttime": "13:00:00","endtime": "19:30:00","date": "23-09-2017","weeknumber": 38,"zipcode": "3831BC","housenumber": 2,"hncharacter": "","place": "Leusden","Salary": 194.87},
{"id": 3,"client": "Marcel","starttime": "01:45:00","endtime": "09:00:00","date": "24-09-2017","weeknumber": 38,"zipcode": "3831BC","housenumber": 2,"hncharacter": "","place": "Leusden","Salary": 252.01}]
function demo() {
let result = [];
for (let index = 0; index < users.length; index++) {
let details = [];
for (let key of Object.keys(users[index])) {
details.push(users[index][key])
}
result.push(details);
}
console.log(result);
}
demo();
let users = [{"id": 1,"client": "Marcel","starttime": "15:00:00","endtime": "21:00:00","date": "22-09-2017","weeknumber": 38,"zipcode": "3831BC","housenumber": 2,"hncharacter": "","place": "Leusden","Salary": 135.13},
{"id": 2,"client": "Peter","starttime": "13:00:00","endtime": "19:30:00","date": "23-09-2017","weeknumber": 38,"zipcode": "3831BC","housenumber": 2,"hncharacter": "","place": "Leusden","Salary": 194.87},
{"id": 3,"client": "Marcel","starttime": "01:45:00","endtime": "09:00:00","date": "24-09-2017","weeknumber": 38,"zipcode": "3831BC","housenumber": 2,"hncharacter": "","place": "Leusden","Salary": 252.01}]
function demo() {
let result = [];
for (let index = 0; index < users.length; index++) {
let details = [];
for (let key of Object.keys(users[index])) {
details.push(users[index][key])
}
result.push(details);
}
console.log(result);
}
demo();
Upvotes: 0
Reputation: 48437
You should use Object.values
method in order to obtain a simple solution for your requirement.
array=array.map(function(item){
return Object.values(item);
});
let array=[ { id: 1, client: "Marcel", starttime: "15:00:00", endtime: "21:00:00", date: "22-09-2017", weeknumber: 38, zipcode: "3831BC", housenumber: 2, hncharacter: "", place: "Leusden", Salary: 135.13 }, { id: 2, client: "Peter", starttime: "13:00:00", endtime: "19:30:00", date: "23-09-2017", weeknumber: 38, zipcode: "3831BC", housenumber: 2, hncharacter: "", place: "Leusden", Salary: 194.87 }, { id: 3, client: "Marcel", starttime: "01:45:00", endtime: "09:00:00", date: "24-09-2017", weeknumber: 38, zipcode: "3831BC", housenumber: 2, hncharacter: "", place: "Leusden", Salary: 252.01 }];
array=array.map(function(item){
return Object.values(item);
});
console.log(array);
Upvotes: 4