2015-01-28 2 views
0

Я использую highcharts в своем приложении mvc. Здесь я получаю JSon от КОНТРОЛЛЕР JSON как то:Parse Json Data в Ajax Post

[ 
    { 
     "Admin_Count_ID": 1, 
     "Home_Page_View": 15, 
     "Month": "Jan" 
    }, 
    { 
     "Admin_Count_ID": 4, 
     "Home_Page_View": 2, 
     "Month": "Feb" 
    } 
] 

Я использую ниже функции, чтобы показать диаграмму и мне нужно разобрать Month в xAxis.categories и Home_Page_View в series.data.

$(function() { 
    $('#container').highcharts({ 
     chart: { 
      type: 'column' 
     }, 
     title: { 
      text: 'Monthly Website User View' 
     }, 

     xAxis: { 
      categories: ['Jan', 'Feb'] 
     }, 
     yAxis: { 
      min: 0, 
      title: { 
       text: 'Users' 
      } 
     }, 
     tooltip: { 
      headerFormat: '<span style="font-size:10px">{point.key}</span><table>', 
      pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' + 
       '<td style="padding:0"><b>{point.y:.1f}</b></td></tr>', 
      footerFormat: '</table>', 
      shared: true, 
      useHTML: true 
     }, 
     plotOptions: { 
      column: { 
       pointPadding: 0.2, 
       borderWidth: 0 
      } 
     }, 
     series: [{ 
      name: 'Users', 
      data: [5, 15] 

     }] 
    }); 
}); 

Пожалуйста, помогите мне. Заранее спасибо

ответ

2

Вы можете создать необходимые массивы с for цикла:

// assumes 'json' = the data retrieved 
var months = [], views = []; 
for (var i = 0; i < json.length; i++) { 
    months.push(json[i].Month); 
    views.push(json[i].Home_Page_View) 
} 

Вы можете затем использовать t HESE значения в вашем Highcharts инициализации (дополнительные свойства опущенные):

$('#container').highcharts({ 
    xAxis: { 
     categories: months 
    }, 
    series: [{ 
     data: views 
    }] 
}); 

Example fiddle

1
var obj = [{"Admin_Count_ID":1,"Home_Page_View":15,"Month":"Jan"},{"Admin_Count_ID":4,"Home_Page_View":2,"Month":"Feb"}]; 

var month = []; 
var view = []; 
$.each(obj,function(index,val){ 
    month.push(val.Month); 
    view.push(val.Home_Page_View); 
}); 

In Your Highcharts написать как

xAxis: { 
      categories: month 
     }, 
series: [{ 
     name: 'Users', 
     data: view 
    }] 

Demo