我在使用 JSON.stringify 时遇到问题,因为我无法生成要转换的模型的 json 格式。下面的屏幕是 JSON.stringify 的结果,您可以在突出显示的部分看到 json 本身的一些不规则之处。
下面是我用于填充模型的代码:
LookupBase[] lCityLookups = bgReportsUtil.GetLookupCities(_PersonUID, _ClientUID);
JsonResult json = new JsonResult();
json.Data = lCityLookups; //support;
json.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
json.MaxJsonLength = int.MaxValue;
return json;
下面是我在 javascript 上的代码:
$.ajax({
url: "SaladEntry/FillData",
type: "POST",
cache: false,
contentType: "application/json;",
data: paramSerialized,
success: function (resultVal) {
alert(JSON.stringify(resultVal));
});
以上问题已解决,但这并没有完全解决我的实际问题。 我想使用 google chart 创建一个图表,然后创建它的图像文件并将其保存到服务器,但我遇到了这个错误。
这是我如何创建图表的代码。
var arrMain = [];
for (var i = 0; i < resultVal.length; i++) {
var arr = [resultVal[i].ScaleMin, resultVal[i].PK, resultVal[i].CountryNo, resultVal[i].stringEffectiveDate, resultVal[i].ScaleMax, String(resultVal[i].Currency)];
arrMain.push(arr);
}
console.log(arrMain); //to remove
var data = new google.visualization.DataTable();
data.addColumn('number', 'ScaleMin');
data.addColumn('string', 'PK');
data.addColumn('number', 'CountryNo');
data.addColumn('string', 'stringEffectiveDate');
data.addColumn('number', 'ScaleMax');
data.addColumn('string', 'Currency');
data.addRows(arrMain);
var options = {
'title': 'Title',
'width': 800,
'height': 600
};
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
google.visualization.events.addListener(chart, 'ready', function () {
chart_div.innerHTML = '<img src="' + chart.getImageURI() + '">';
});
chart.draw(data, options);
$.ajax({
url: "SaladEntry/SaveToLocal",
type: "POST",
data: { 'jsonData': chart.getImageURI() },
success: function (ret) {
alert(ret);
}
});
最佳答案
resultVal
已经字符串化,可以直接调用alert(resultVal)
;
关于javascript - JSON.stringify 不生成正确的 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43513628/