簡體   English   中英

JSON.stringify不生成正確的json

[英]JSON.stringify does not generate correct json

我在使用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));
});

以上問題已解決,但這並不能完全解決我的實際問題。 我想使用谷歌圖表創建一個圖表,然后稍后將創建它的圖像文件並將其保存到服務器但我仍然堅持這個錯誤。 在此輸入圖像描述

如果你去了發生錯誤的地方。 在此輸入圖像描述

這是我如何創建圖表的代碼。

        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) ;

如錯誤中所述,您在繪制圖表之前嘗試獲取圖表的圖像

將ajax帖子移到圖表的'ready'事件中...

請參閱以下片段...

google.visualization.events.addListener(chart, 'ready', function () {
  chart_div.innerHTML = '<img src="' + chart.getImageURI() + '">';

  $.ajax({
    url: "SaladEntry/SaveToLocal",
    type: "POST",
    data: { 'jsonData': chart.getImageURI() },
    success: function (ret) {
      alert(ret);
    }
  });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM