2
我有一個json數組,我將序列化, how do I access it in the javascript. I am using javascript
amcharts and want to pass
vb.net數組添加到javascript圖表。 的代碼下面提供:在Javascript中訪問JavaScriptSerializer
VB
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
DataSetToJSON()
End Sub
Public Function SelectChartData(ByVal Name As String) As DataSet
Dim sqlCmd As New SqlCommand
Dim myData As New DataSet
sqlCmd.CommandTimeout = 1200
sqlCmd.CommandType = CommandType.StoredProcedure
sqlCmd.CommandText = "SelectAmChartdata"
sqlCmd.Parameters.Add("@Name", SqlDbType.VarChar)
sqlCmd.Parameters("@Name").Value = Name
Dim da As New dsSV1TableAdapters.tblGeneralTableAdapter
da.Adapter.SelectCommand = sqlCmd
sqlCmd.Connection = da.Connection
sqlCmd.Connection.Open()
da.Adapter.Fill(myData)
sqlCmd.Dispose()
sqlCmd = Nothing
da.Connection.Close()
da.Connection.Dispose()
da.Connection = Nothing
Return myData
End Function
Public Function DataSetToJSON()
Dim dt As DataTable
ds = SelectChartData("Weather")
Dim dict As New Dictionary(Of String, Object)
For Each dt In ds.Tables
Dim arr(dt.Rows.Count) As Object
For i As Integer = 0 To dt.Rows.Count - 1
arr(i) = dt.Rows(i).ItemArray
Next
dict.Add(dt.TableName, arr)
Next
Dim json As New JavaScriptSerializer
Return json.Serialize(dict)
End Function
ASPX
<script type="text/javascript">
//var chartData = **Access Serverside Array**
window.onload = function() {
var chart = new AmCharts.AmSerialChart();
chart.dataProvider = chartData;
chart.categoryField = "country";
chart.marginTop = 15;
chart.marginLeft = 55;
chart.marginRight = 15;
chart.marginBottom = 80;
chart.angle = 30;
chart.depth3D = 15;
var catAxis = chart.categoryAxis;
catAxis.gridCount = chartData.length;
catAxis.labelRotation = 90;
var graph = new AmCharts.AmGraph();
graph.balloonText = "[[category]]: [[value]]";
graph.valueField = "visits"
graph.type = "column";
graph.lineAlpha = 0;
graph.fillAlphas = 0.8;
chart.addGraph(graph);
chart.write('chartContainer');
}
</script
非常感謝你的工作。我有一個不同的問題是我的數組,目前我的數組傳遞爲var chartData = {「tblGeneral」:[[「USA」,「100」],[「RSA」,「80」],[「RUSS 「 」99「],[ 」UK「, 」70「],[ 」AUS「, 」60「],[ 」GER「, 」180「],[ 」SWISS「, 」50「],[」 FRA 」, 「30」],空]}; – user1835316
我怎樣才能傳遞數組的字段名稱如下,似乎圖表要求var chartData = {「tblGeneral」:[[country:「USA」,visits:「100」],[country:「RSA」,探訪: 「80」],[國家: 「拉斯」,參觀: 「99」],[國家: 「英國」,參觀: 「70」],[國家: 「AUS」,參觀: 「60」],[國家: 「GER」,訪問次數: 「180」],[國家: 「SWISS」,訪問次數: 「50」],[國家: 「FRA」,訪問次數: 「30」],空]};再次感謝。 – user1835316
您需要自己轉換數據,例如 - http://www.pastepal.net/view/3d3021b6 – Lloyd