我看到有两种类型的JSON格式,并且真的很困惑。
我试图做以下事情:
我有一个带范围的excel模型 输入RV MRC 10 CRC 20 CVA 30 OpRisk 0
使用cDataSet(http://ramblings.mcpher.com/Home/excelquirks/json/excel-json-conversion)中的ExCelToWeb vba函数,我将此范围转换为JSON字符串。输出如下:
{ "cDataSet":[
{
"Type":"MRC",
"RV":10
},
{
"Type":"CRC",
"RV":20
},
{
"Type":"CVA",
"RV":30
},
{
"Type":"OpRisk",
"RV":0
}
]}
我将其保存到名为myData.json
在Default.aspx.cs中,我有
[WebMethod]
public static String GetDataJSON(){
String myvar = File.ReadAllText("C:\\Users\\Serge\\Downloads\\GoogleChartExample\\GoogleChartExample\\myData.json");
return myvar;
}
我在Default.aspx
中调用Java Script中的函数google.load('visualization', '1', { packages: ['corechart'] });
google.setOnLoadCallback(drawChart);
function drawChart() {
$.ajax({
type: 'POST',
dataType: 'json',
url: 'Default.aspx/GetDataJSON',
contentType: 'application/json',
data: {},
async: false,
success:
function (response) {
console.log(response.d);
var data = new google.visualization.DataTable(response.d);
var csv = google.visualization.dataTableToCsv(data);
console.log(csv);
new google.visualization.ColumnChart(document.getElementById('myChart1')).draw(data, { title: "MyChart1" });
},
error: function (jqXHR, textStatus, errorThrown) {
alert(textStatus + '\n' + errorThrown);
if (!$.browser.msie) {
console.log(jqXHR);
}
}
});
}
=> console.log(response.d)完全按照预期输出我的JSON字符串
=> console.log(csv)不输出任何内容
=>谷歌图表输出一个红色框,上面写着“表没有列”
据我所知,有两种类型的JSON格式。谷歌在其示例中有一个“cols”:[和“行”:[。是否表示Google Chart / Dataset与我的格式不兼容?反正我是否可以从一个转换为另一个?
我最好不要使用JSON并从excel导出 - > cvs =>一个C#数组 - >谷歌数据集?
非常感谢你。 哔叽