使用javascript将json数据集值拆分为datatable

时间:2014-06-06 02:46:43

标签: javascript jquery json jsonserializer

Json字符串有多个数据表字符串。我想将JSON字符串拆分为这样的数组格式。我不知道如何转换它。请帮帮我。

array[0] = 2:Dubstep;3:BoysIIMen;4:Sylenth1
array[1] = 11:Dubstep;12:BoysIIMen;13:Sylenth1

{"table":"[{value: 2,label: 'Dubstep'},{value: 3,label: 'BoysIIMen'},{value: 4,label:'Sylenth1'}]","table1":"[{value: 11,label: 'Dubstep'},{value: 12,label: 'BoysIIMen'},{value: 13,label:'Sylenth1'}]"}

1 个答案:

答案 0 :(得分:0)

我打赌有更多优雅的解决方案,但我已经能够解析你的json并将它放入一个带有两个元素的标准javascript数组中。

缺点是它不是你问题的“一般解决方案”。它不会读取存储的变量的名称,而是分两步完成。

至少这是一个开始,希望我们能得到一些更专业的回应。

FIDDLE

JS

var mytables = {"table": [
                          {value: 2, label: 'Dubstep' },
                          {value: 3, label: 'BoysIIMen' },
                          {value: 4, label: 'Sylenth1'}
                          ],
                "table1":[
                          {value: 11, label: 'Dubstep'},
                          {value: 12, label: 'BoysIIMen'},
                          {value: 13, label: 'Sylenth1'}
                          ]
               };

var myarray1 = [];
var myarray2 = [];
var finalarray = [];

for(var n=0; n < mytables.table.length; n++)
   {
       myarray1.push( mytables.table[n].value + ':' + mytables.table[n].label + ';' );
       myarray2.push( mytables.table1[n].value + ':' + mytables.table1[n].label + ';' );
    }

finalarray.push( myarray1 );
finalarray.push( myarray2 );

$('.putmehere1').html( finalarray[0] );
$('.putmehere2').html( finalarray[1] );