JS処理Jsonデータ事例

2438 ワード

JSはリモートからデータを取得した後、処理する必要があることが多い.以下の例を示して参考にする.
'[{"role_id":1,"enable":1},{"role_id":3,"enable":0}'形式の内容を:'[{1:1},{2:0},{3:0},{4:0}]形式に変換する
 
//    
var json = '[{"role_id":1,"enable":1},{"role_id":3,"enable":0}]';
//var json = '[]';
var jsonobj=eval('('+json+')');
var str = '';
for(var i=0;i<jsonobj.length;i++){
   //alert(jsonobj[i].role_id);
   //alert(jsonobj[i].enable);
   if (str!="") str+=",";
   var j = i + 1;
   //  
   while(j+""!=jsonobj[i].role_id&&j<5){
    str = str + '{"'+j+'":0}';
    j++;
   }
   str = str + '{"'+jsonobj[i].role_id+'":'+jsonobj[i].enable+'}';
}
//    
for(i=jsonobj.length;i<4;i++){
    str = str + '{"'+(i+1)+'":0}';
}
str = '['+str+']';
//    
alert(str);