对象没有方法加入'

时间:2013-10-29 19:29:09

标签: javascript jquery json

从服务器我收到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回答此示例

1 个答案:

答案 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作为对象。