0

I'm getting this below json from php variable. Now how do i parse this object into an array?

[
    { "fjsd_loc_id": "1", "sum(fjsd_pending_cnt)": "174", "sum(fjsd_running_cnt)": "123", "sum(fjsd_failed_cnt)": "52", "sum(fjsd_success_cnt)": "116" },
    { "fjsd_loc_id": "1", "sum(fjsd_pending_cnt)": "54", "sum(fjsd_running_cnt)": "143", "sum(fjsd_failed_cnt)": "3", "sum(fjsd_success_cnt)": "201" },
    { "fjsd_loc_id": "1", "sum(fjsd_pending_cnt)": "124", "sum(fjsd_running_cnt)": "432", "sum(fjsd_failed_cnt)": "546", "sum(fjsd_success_cnt)": "65" },
    { "fjsd_loc_id": "2", "sum(fjsd_pending_cnt)": "43", "sum(fjsd_running_cnt)": "43", "sum(fjsd_failed_cnt)": "23", "sum(fjsd_success_cnt)": "76" },
    { "fjsd_loc_id": "2", "sum(fjsd_pending_cnt)": "42", "sum(fjsd_running_cnt)": "123", "sum(fjsd_failed_cnt)": "223", "sum(fjsd_success_cnt)": "70" },
    { "fjsd_loc_id": "2", "sum(fjsd_pending_cnt)": "34", "sum(fjsd_running_cnt)": "234", "sum(fjsd_failed_cnt)": "12", "sum(fjsd_success_cnt)": "1" },
    { "fjsd_loc_id": "3", "sum(fjsd_pending_cnt)": "123", "sum(fjsd_running_cnt)": "23", "sum(fjsd_failed_cnt)": "320", "sum(fjsd_success_cnt)": "12" },
    { "fjsd_loc_id": "3", "sum(fjsd_pending_cnt)": "432", "sum(fjsd_running_cnt)": "23", "sum(fjsd_failed_cnt)": "23", "sum(fjsd_success_cnt)": "0" },
    { "fjsd_loc_id": "3", "sum(fjsd_pending_cnt)": "57", "sum(fjsd_running_cnt)": "257", "sum(fjsd_failed_cnt)": "332", "sum(fjsd_success_cnt)": "3" }
]
Carsten Løvbo Andersen
  • 26,637
  • 10
  • 47
  • 77
shanthi Jagadeesh
  • 213
  • 1
  • 3
  • 10

2 Answers2

-1

You need to JSON.parse it (no jQuery needed):

var arr = JSON.parse('[{"fjsd_loc_id":"1","sum(fjsd_pending_cnt)":"174","sum(fjsd_running_cnt)":"123","sum(fjsd_failed_cnt)":"52","sum(fjsd_success_cnt)":"116"},{"fjsd_loc_id":"1","sum(fjsd_pending_cnt)":"54","sum(fjsd_running_cnt)":"143","sum(fjsd_failed_cnt)":"3","sum(fjsd_success_cnt)":"201"},{"fjsd_loc_id":"1","sum(fjsd_pending_cnt)":"124","sum(fjsd_running_cnt)":"432","sum(fjsd_failed_cnt)":"546","sum(fjsd_success_cnt)":"65"},{"fjsd_loc_id":"2","sum(fjsd_pending_cnt)":"43","sum(fjsd_running_cnt)":"43","sum(fjsd_failed_cnt)":"23","sum(fjsd_success_cnt)":"76"},{"fjsd_loc_id":"2","sum(fjsd_pending_cnt)":"42","sum(fjsd_running_cnt)":"123","sum(fjsd_failed_cnt)":"223","sum(fjsd_success_cnt)":"70"},{"fjsd_loc_id":"2","sum(fjsd_pending_cnt)":"34","sum(fjsd_running_cnt)":"234","sum(fjsd_failed_cnt)":"12","sum(fjsd_success_cnt)":"1"},{"fjsd_loc_id":"3","sum(fjsd_pending_cnt)":"123","sum(fjsd_running_cnt)":"23","sum(fjsd_failed_cnt)":"320","sum(fjsd_success_cnt)":"12"},{"fjsd_loc_id":"3","sum(fjsd_pending_cnt)":"432","sum(fjsd_running_cnt)":"23","sum(fjsd_failed_cnt)":"23","sum(fjsd_success_cnt)":"0"},{"fjsd_loc_id":"3","sum(fjsd_pending_cnt)":"57","sum(fjsd_running_cnt)":"257","sum(fjsd_failed_cnt)":"332","sum(fjsd_success_cnt)":"3"}]');

If you really want jQuery:

var $arr = $.parseJSON('[{"fjsd_loc_id":"1","sum(fjsd_pending_cnt)":"174","sum(fjsd_running_cnt)":"123","sum(fjsd_failed_cnt)":"52","sum(fjsd_success_cnt)":"116"},{"fjsd_loc_id":"1","sum(fjsd_pending_cnt)":"54","sum(fjsd_running_cnt)":"143","sum(fjsd_failed_cnt)":"3","sum(fjsd_success_cnt)":"201"},{"fjsd_loc_id":"1","sum(fjsd_pending_cnt)":"124","sum(fjsd_running_cnt)":"432","sum(fjsd_failed_cnt)":"546","sum(fjsd_success_cnt)":"65"},{"fjsd_loc_id":"2","sum(fjsd_pending_cnt)":"43","sum(fjsd_running_cnt)":"43","sum(fjsd_failed_cnt)":"23","sum(fjsd_success_cnt)":"76"},{"fjsd_loc_id":"2","sum(fjsd_pending_cnt)":"42","sum(fjsd_running_cnt)":"123","sum(fjsd_failed_cnt)":"223","sum(fjsd_success_cnt)":"70"},{"fjsd_loc_id":"2","sum(fjsd_pending_cnt)":"34","sum(fjsd_running_cnt)":"234","sum(fjsd_failed_cnt)":"12","sum(fjsd_success_cnt)":"1"},{"fjsd_loc_id":"3","sum(fjsd_pending_cnt)":"123","sum(fjsd_running_cnt)":"23","sum(fjsd_failed_cnt)":"320","sum(fjsd_success_cnt)":"12"},{"fjsd_loc_id":"3","sum(fjsd_pending_cnt)":"432","sum(fjsd_running_cnt)":"23","sum(fjsd_failed_cnt)":"23","sum(fjsd_success_cnt)":"0"},{"fjsd_loc_id":"3","sum(fjsd_pending_cnt)":"57","sum(fjsd_running_cnt)":"257","sum(fjsd_failed_cnt)":"332","sum(fjsd_success_cnt)":"3"}]');
Josh Lubawy
  • 386
  • 1
  • 6
-1

Assuming, you want array of arrays instead of array of objects, it depends on mapping. A most simple example is below:

var output = input.map(function(currVal) {
  let temp = [];
  temp.push(currVal["fjsd_loc_id"]);
  temp.push(currVal["sum(fjsd_pending_cnt)"]);
  temp.push(currVal["sum(fjsd_running_cnt)"]);
  temp.push(currVal["sum(fjsd_failed_cnt)"]);
  temp.push(currVal["sum(fjsd_success_cnt)"]);
  return temp;
});

However this is very error prone, since errors in names are possible and will display undefined in array, which might be a problem. A more flexible solution would be:

var output2 = input.map(function(currVal) {
  var temp = []; var i = 0;
  var keys = Object.keys(currVal);

  for(i=0; i< keys.length; i++) {
    temp.push(currVal[keys[i]]);
  }

  return temp;
});

However, this assumes you're working on modern browser (IE9+, FF4+, Chrome5+, Opera12+, Safari5+). See more info on Object.keys in How to list the properties of a JavaScript object.

var input = [{
  "fjsd_loc_id": "1",
  "sum(fjsd_pending_cnt)": "174",
  "sum(fjsd_running_cnt)": "123",
  "sum(fjsd_failed_cnt)": "52",
  "sum(fjsd_success_cnt)": "116"
}, {
  "fjsd_loc_id": "1",
  "sum(fjsd_pending_cnt)": "54",
  "sum(fjsd_running_cnt)": "143",
  "sum(fjsd_failed_cnt)": "3",
  "sum(fjsd_success_cnt)": "201"
}, {
  "fjsd_loc_id": "1",
  "sum(fjsd_pending_cnt)": "124",
  "sum(fjsd_running_cnt)": "432",
  "sum(fjsd_failed_cnt)": "546",
  "sum(fjsd_success_cnt)": "65"
}, {
  "fjsd_loc_id": "2",
  "sum(fjsd_pending_cnt)": "43",
  "sum(fjsd_running_cnt)": "43",
  "sum(fjsd_failed_cnt)": "23",
  "sum(fjsd_success_cnt)": "76"
}, {
  "fjsd_loc_id": "2",
  "sum(fjsd_pending_cnt)": "42",
  "sum(fjsd_running_cnt)": "123",
  "sum(fjsd_failed_cnt)": "223",
  "sum(fjsd_success_cnt)": "70"
}, {
  "fjsd_loc_id": "2",
  "sum(fjsd_pending_cnt)": "34",
  "sum(fjsd_running_cnt)": "234",
  "sum(fjsd_failed_cnt)": "12",
  "sum(fjsd_success_cnt)": "1"
}, {
  "fjsd_loc_id": "3",
  "sum(fjsd_pending_cnt)": "123",
  "sum(fjsd_running_cnt)": "23",
  "sum(fjsd_failed_cnt)": "320",
  "sum(fjsd_success_cnt)": "12"
}, {
  "fjsd_loc_id": "3",
  "sum(fjsd_pending_cnt)": "432",
  "sum(fjsd_running_cnt)": "23",
  "sum(fjsd_failed_cnt)": "23",
  "sum(fjsd_success_cnt)": "0"
}, {
  "fjsd_loc_id": "3",
  "sum(fjsd_pending_cnt)": "57",
  "sum(fjsd_running_cnt)": "257",
  "sum(fjsd_failed_cnt)": "332",
  "sum(fjsd_success_cnt)": "3"
}];

var output = input.map(function(currVal) {
  var temp = [];
  temp.push(currVal["fjsd_loc_id"]);
  temp.push(currVal["sum(fjsd_pending_cnt)"]);
  temp.push(currVal["sum(fjsd_running_cnt)"]);
  temp.push(currVal["sum(fjsd_failed_cnt)"]);
  temp.push(currVal["sum(fjsd_success_cnt)"]);
  return temp;
});

var output2 = input.map(function(currVal) {
  var temp = []; var i = 0;
  var keys = Object.keys(currVal);
  
  for(i=0; i< keys.length; i++) {
    temp.push(currVal[keys[i]]);
  }
  
  return temp;
});


console.log(output2);
Community
  • 1
  • 1
Daniel Fath
  • 16,453
  • 7
  • 47
  • 82