2015-09-21 2 views
2
образец

JSON данных:Преобразование данных в формате JSON для двухмерного массива

{ 
     "GroupA": "Array[37]", 
     "AGroupC": "Array[9]", 
     "GroupB": "Array[12]", 
     "GroupE": "Array[15]", 
     "GroupF": "Array[21]", 
     "GroupD": "Array[6]" 
     } 

У меня есть вышеуказанные данные, и мне нужно, чтобы преобразовать его в двухмерном массиве, но не знаю, как это сделать. Любая помощь будет оценена. Полученна должен выглядеть следующим образом:

["GroupA", "GroupC", "AGroupB", "GroupE", "GroupF", "GroupD"] 
[37, 9, 12, 15, 21, 6] 

Спасибо.

+1

Вы хотите 2D-массив, или только 2 массива? –

+0

В дополнение к регулярному выражению я предлагаю for-in. – tcooc

+0

Немного непонятно, что у оригинального JSON ... Это массив, содержащий только одиночные числа? –

ответ

1

Попробуйте это:

var dataJson = { 
 
    "GroupA": "Array[37]", 
 
    "AGroupC": "Array[9]", 
 
    "GroupB": "Array[12]", 
 
    "GroupE": "Array[15]", 
 
    "GroupF": "Array[21]", 
 
    "GroupD": "Array[6]" 
 
}; 
 

 
var groupArr = []; 
 
var arrayArr = []; 
 

 
for (var i in dataJson) { 
 
    if (dataJson.hasOwnProperty(i)) { 
 
    groupArr.push(i); 
 
    arrayArr.push(dataJson[i].match(/\d+/)[0]); 
 
    } 
 
} 
 
alert('groupArr: ' + JSON.stringify(groupArr)); 
 
alert('arrayArr: ' + JSON.stringify(arrayArr));

+1

Спасибо Rayon, это возвращает формат, который я искал. – EBamba

0

Try sometihing так:

var dataJson = { 
      "GroupA": "Array[37]", 
      "AGroupC": "Array[9]", 
      "GroupB": "Array[12]", 
      "GroupE": "Array[15]", 
      "GroupF": "Array[21]", 
      "GroupD": "Array[6]" 
      } 


    var groupArr = []; 
    var arrayArr = []; 

    function dataArr() { 

     for (i = 0; i < (dataJson.length); i++) { 
      groupArr.push(dataJson[i+i]); 
      arrayArr.push(dataJson[i+1]); 
     } 
    } 

//output of each: 
//groupArr 
// ["GroupA", "GroupC", "AGroupB", "GroupE", "GroupF", "GroupD"] 
//arrayArr 
// ["Array[37]", "Array[9]", "Array[12]", "Array[15]", "Array[21]", "Array[6]"] 
+0

Зачем его разбирать? – Rayon

+0

@RayonDabre исправленный, спасибо. – Leo

0

Из того, что я могу сказать, это то, что вы просите.

function convertJSONto2D(json) { 
    var 2dArray = []; 
    var result = []; 

    2dArray.push(Object.keys(json)); 

    for(key in json) { 
     if (object.hasOwnProperty(key)) { 
      result.push(json[key].length); 
     } 
    } 

    2dArray.push(result); 

    return 2dArray; 
} 
Смежные вопросы