如何动态地将任何数组转换为json

时间:2014-04-16 07:02:10

标签: javascript arrays json

我正在尝试从用户获取文件,将其转换为数组并需要开发直方图。为了开发直方图,我需要以json格式获取该数据。虽然有足够的示例将数组转换为json硬编码,但我无法找到一个单独的示例来实时动态转换它。这是我的代码:

<input type="file" name="F1" id="F1" size="80">
<input type="button" value="Read" name="B1" id="B1" onclick="execFile()">

function execFile() {
    // main function to open, parse, and then render
    var myfile=document.getElementById("F1")
    arr = readCSV(myfile.value);
    // parse csv line by line
    for (var i=0;i<arr.length;i++) {
        arr[i] = parseLineCSV(arr[i]);
    }
    for (var i=0;i<arr.length;i++) {
        document.write(arr[i]);
    } 
}

所以,我需要传递一个数组arr来转换为json。我从其他用户那里找到了这个代码,但它似乎对我不起作用。

for(var i=1;i<arr.length;i++) {
    var tmp_values = [];
    alert(arr.length);
    for (var l=1;l<arr[0].length;l++) { 
        alert(arr[0].length);
        tmp_values.push({label: arr[0][l], value: arr[i][l]}); //label + value respectively
        alert("2");
    }
    jsonObj.push({key: arr[i][0], values: tmp_values}); //key
    alert("3");
}

我正在做一些错误,因为我只能获得arr.length和警报3 ..我在使用推送功能时遇到了一些错误,但无法弄清楚是什么。所以,请帮忙

1 个答案:

答案 0 :(得分:0)

我找到了这个解决方案,通常这应该可以解决问题。

var myJsonString = JSON.stringify(yourArray);

请点击此处了解更多信息:

Convert array to JSON