JSON Object not correct formatted into Javascript
I want to use a JSON Object as a key -> value array in JavaScript, but i didn’t get why it is not returning my Object in the way i want to:
I tried the following:
var obj = JSON.stringify(result); var result = Object.keys(obj).map(function (key) { // Using Number() to convert key to number type // Using obj[key] to retrieve key value return [Number(key), obj[key]]; }); for(var i = 0; i < result.length; i++) { for(var z = 0; z < result[i].length; z++) { console.log(result[i][z]); } }
But i am getting as result the following lines in the console.log
writeback.js:159 0 writeback.js:159 " writeback.js:159 1 writeback.js:159 { writeback.js:159 2 writeback.js:159 \ writeback.js:159 3 writeback.js:159 " writeback.js:159 4 writeback.js:159 r writeback.js:159 5 writeback.js:159 o writeback.js:159 6 writeback.js:159 w writeback.js:159 7 writeback.js:159 n writeback.js:159 8 writeback.js:159 u writeback.js:159 9 writeback.js:159 m writeback.js:159 10 writeback.js:159 b writeback.js:159 11 writeback.js:159 e writeback.js:159 12 writeback.js:159 r writeback.js:159 13 writeback.js:159 \ writeback.js:159 14 writeback.js:159 " writeback.js:159 15 writeback.js:159 : writeback.js:159 16 writeback.js:159 1 writeback.js:159 17 writeback.js:159 , writeback.js:159 18 writeback.js:159 \ writeback.js:159 19 writeback.js:159 " writeback.js:159 20 writeback.js:159 I writeback.js:159 21 writeback.js:159 D writeback.js:159 22 writeback.js:159 \ writeback.js:159 23 writeback.js:159 " writeback.js:159 24 writeback.js:159 : writeback.js:159 25 writeback.js:159 1 writeback.js:159 26 writeback.js:159 } writeback.js:159 27 writeback.js:159 { writeback.js:159 28 writeback.js:159 \ writeback.js:159 29 writeback.js:159 " writeback.js:159 30 writeback.js:159 r writeback.js:159 31 writeback.js:159 o writeback.js:159 32 writeback.js:159 w writeback.js:159 33 writeback.js:159 n writeback.js:159 34 writeback.js:159 u writeback.js:159 35 writeback.js:159 m writeback.js:159 36 writeback.js:159 b writeback.js:159 37 writeback.js:159 e writeback.js:159 38 writeback.js:159 r writeback.js:159 39 writeback.js:159 \ writeback.js:159 40 writeback.js:159 " writeback.js:159 41 writeback.js:159 : writeback.js:159 42 writeback.js:159 2 writeback.js:159 43 writeback.js:159 , writeback.js:159 44 writeback.js:159 \ writeback.js:159 45 writeback.js:159 " writeback.js:159 46 writeback.js:159 I writeback.js:159 47 writeback.js:159 D writeback.js:159 48 writeback.js:159 \ writeback.js:159 49 writeback.js:159 " writeback.js:159 50 writeback.js:159 : writeback.js:159 51 writeback.js:159 2 writeback.js:159 52 writeback.js:159 } writeback.js:159 53 writeback.js:159 "
It seems like every character into the JSON object is getting a key but the key and the value is in the object itself.
UPDATE: The value of the variable result is
{"rownumber":1,"ID":1}{"rownumber":2,"ID":2}
Can someone help me with this?
It seems as if you are passing an Object
to JSON.stringify
which converts the object into a String
(see the first comment from @Barmar).
Just change the line
var obj = JSON.stringify(result);
into
var obj = result;
you should wrap JSON.parse() if you want to mutate or make copy in memory
var obj = JSON.parse(JSON.stringify(result));
otherwise just remove JSON.stringify()
var obj = result;