2017-04-20 38 views
3

我無法使用JSON.stringify,因爲我無法生成要轉換的模型的json格式。以下屏幕是JSON.stringify的結果,您可以在突出顯示的部分看到json本身的一些不規則性。 enter image description hereJSON.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)); 
}); 

上面的問題是解決了,但這並不能完全解決我的真正的問題。 我想創建一個圖表使用谷歌圖表,然後將創建它的圖像文件並將其保存到服務器,但我堅持這個錯誤。 enter image description here

如果您去了發生錯誤的地方。 enter image description here

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

 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); 
} 
}); 
+0

應該轉換的原始值是什麼? –

+0

Kermit好像他有正確的答案,你正在返回JSON,然後嘗試再次將其字符串化爲JSON。 – George

+0

我更新我的問題。 – Rob

回答

0

在錯誤陳述,你正在試圖獲得該圖表的圖像,圖表已經繪

移動圖表的'ready'事件中的AJAX後...

看到下面的代碼片段之前。 ..

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

resultVal已字符串化,可以直接調用alert(resultVal);