json - JavaScript map containing arrays turns into map containing maps -


i creating map containing arrays. i'm sending map parameter method in popup window.

this map of arrays turning map of maps in popup window!!

im using ie8.

i'm creating map this:

var mapdetails = new object(); mapdetails.fields = ['a','b']; mapdetails.optsampledata = ['x','y']; 

json of map im sending:

{'fields':['a','b'],'optsampledata':['x','y']} 

json of map im receiving:

{'fields':{'0':'a','1':'b'},'optsampledata':{'0':'x','1':'y'}} 

this wouldnt problem in js data can still accessed fields[0]. but, i'm sending server-side i'm using gson parse json. gson turns map.

try function

function myparser(str) {      str = str.replace(/'/g, '"');     var obj = json.parse(str);      for(var item in obj) {         if(obj.hasownproperty(item)) {             var array = [];             for(var arritem in obj[item]) {                 if(obj[item].hasownproperty(arritem)) {                     array.push(obj[item][arritem]);                 }             }             obj[item] = array;         }     }      return obj; } 

you can pass received string function , receive desired map containing arrays

also can reform received string desired string format function:

var str = "{'fields':{'0':'a','1':'b'},'optsampledata':{'0':'x','1':'y'}}"; var obj = myparser(str); var desiredformat = json.stringify(obj); /* result be: */  /* "{"fields":["a","b"],"optsampledata":["x","y"]}" */ 

hope helps :)


Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

inno setup - TLabel or TNewStaticText - change .Font.Style on Focus like Cursor changes with .Cursor -