2016-03-01 1 views
0

У меня есть JSON как это:JSon вопросам массива при рисовании C3 график

"result": { 
    "axa.com.sg": 43, 
    "globaltimes.cn": 81, 
    "sh.fang.com": 109, 
    "m.facebook.com": 83, 
    "you.ctrip.com": 60, 
    "bilibili.com": 53, 
    "house.163.com": 59, 
    "zhidao.baidu.com": 25, 
    "news.qq.com": 38, 
    "house.dbw.cn": 65 
    }, 

И я написал цикл передать его на с3 график для того, чтобы нарисовать таблицу

var top10 = data.result; 
    var topTen3m = top10.threeMonths; 
    ar topTen3mRes = Object.keys(topTen3m).map(function(i) { return topTen3m[i] }); 
    var topTen3mRes =[]; 
    for(var i in topTen3m) 
    topTen3mRes.push(i,topTen3m[i]); 

Когда я заканчиваю этот код, я понимаю, что массив разбит не так, результат должен быть [axa: com.sg: 43, sh.fang.com:83 ... и т. Д.], но это получилось как [axa: com.sg, 43, sh.fang.com, 83]

Как я могу исправить?

ответ

0

Его довольно неясно, что именно вы хотите сделать. Если вы хотите получить массив из JSON в формате [axa.com.sg: 43, sh.fang.com:83 ... и т. Д.], обратите внимание, что элемент axa.com.sg: 43 будет строка (Пожалуйста, будьте понятны, если вы хотите, чтобы это как объект).

Чтобы сделать это изменить последнюю строку

topTen3mRes.push(i+':'+topTen3m[i]); 

И, пожалуйста, ясно, что вы хотите добиться от

var topTen3m = top10.threeMonths; 
    ar topTen3mRes = Object.keys(topTen3m).map(function(i) { return topTen3m[i] }); 
    var topTen3mRes =[]; 

, как там нет ключа с именем threeMonths в объекте результата, и вы назначая пустой массив после выполнения некоторых операций над ним.