将c#datatable转换为JSON数组以传递给Google图表
本文关键字:Google 图表 数组 c#datatable 转换 JSON | 更新日期: 2023-09-27 17:59:57
我想将C#数据表结果传递给我的图表,但我收到了一个错误,说"给addRows的参数必须是数字或数组"
C#
string result = "";
result = "[";
foreach (DataRow row in dt.Rows)
{
result += "['"+row[0]+"',"+row[1]+"],";
}
result = result.TrimEnd(',')+"]";
txtJsonData.Value = result;
JavaScript
var data = new google.visualization.DataTable();
data.addColumn('string', 'Page');
data.addColumn('number', 'Followers');
var chartData = document.getElementById('txtJsonData').value;
data.addRows(chartData);
样本数据
"[['@flu',401],['@weightloss',1068],['@heartdiseases',223],['@diabetesfacts',356]]"
您的变量chartData
包含一个字符串。在将其传递给addRows
之前,您需要对其进行解析。
data.addRows(JSON.parse(chartData));
JSON.parse()获取一个字符串,并将返回相应的Javascript对象。如果您的代码需要在Internet Explorer<=上运行8(不包括JSON相关函数),则需要包含json2.js
,可以从https://github.com/douglascrockford/JSON-js