从服务器我收到JSON
对象,格式为:
[ { "Id": 1, "defNo": "ME-2-17", "ReportDate": "2013-10-04T00:00:00", "Remarks": "" } ]
在循环中使用它我试图通过$.parseJSON(responseText
将其转换为数组但在转换后我仍然无法使用它作为控制台说:
Uncaught TypeError: Object #<Object> has no method 'join'
完整功能:
function exportToCsv() {
var formInfo = $("#requestSortForm").serialize();
$.post('../../REQUEST/GetSortedRequest', formInfo, function (responseText) {
data = $.parseJSON(responseText);
console.log($.parse(responseText));
var csvContent = "data:text/csv;charset=utf-8,";
data.forEach(function (infoArray, index) {
dataString = infoArray.join(",");
csvContent += index < infoArray.length ? dataString + "\n" : dataString;
});
var encodedUri = encodeURI(csvContent);
window.open(encodedUri);
});
}
我正在通过Here
的SO
回答此示例
答案 0 :(得分:0)
你可以使用原生的JSON.parse()
对象类型,如果你对它更新一点是正确的:
var infoArray = [];
var data = JSON.parse(responseText, function(k, v) {
if (k === "") return v; infoArray.push(v); return v;
});
现在,您可以将JSON中的值作为数组进行交互,并仍然可以使用data
作为对象。