Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将数组转换为JSON_Javascript_Jquery_Arrays_Json_Csv - Fatal编程技术网

Javascript 将数组转换为JSON

Javascript 将数组转换为JSON,javascript,jquery,arrays,json,csv,Javascript,Jquery,Arrays,Json,Csv,我需要引入一个csv文档并将其转换为JSON,到目前为止,我已经能够将其转换为数组,并从数组中尝试构建JSON对象 下面是构建JSON的JavaScript,但它不在我需要的结构中,下面是所需结构的示例 var jsonObj = []; //declare object for (var i=1;i<csvAsArray.length;i++) { jsonObj.push({key: csvAsArray[i][0]}); //key for (var l=1;l&l

我需要引入一个csv文档并将其转换为JSON,到目前为止,我已经能够将其转换为数组,并从数组中尝试构建JSON对象

下面是构建JSON的JavaScript,但它不在我需要的结构中,下面是所需结构的示例

var jsonObj = []; //declare object

for (var i=1;i<csvAsArray.length;i++) { 
  jsonObj.push({key: csvAsArray[i][0]}); //key

    for (var l=1;l<csvAsArray[0].length;l++) { 
      jsonObj.push({label: csvAsArray[0][l], values: csvAsArray[i][l]}); //label + value respectively
    }
}

这是在JavaScript中将数组转换为JSON的常用方法。

在将索引推送到最终/主对象之前,需要声明值并将其推送到tmp变量上

var tmp_values, jsonObj = []; //declare object

for (var i=1;i<csvAsArray.length;i++) {
    var tmp_values = [];
    for (var l=1;l<csvAsArray[0].length;l++) { 
        tmp_values.push({label: csvAsArray[0][l], value: csvAsArray[i][l]}); //label + value respectively
    }
    jsonObj.push({key: csvAsArray[i][0], values: tmp_values}); //key
}
var tmp_值,jsonObj=[]//声明对象

对于(var i=1;i只需使用
JSON.stringify()
将数组转换为JSON字符串

var jsonString = JSON.stringify(yourArray);

我不喜欢这样的答案,但在我看来这已经足够好了。它可以在各种数据格式之间转换,包括CSV、JSON、XML、HTML表格等。它甚至为一些格式提供了不同的输出结构


使用此代码,非常简单地开发两个以上的阵列

function getJSON(arrayID,arrayText) {    
    var JSON = "[";
    //should arrayID length equal arrayText lenght and both against null
    if (arrayID != null && arrayText != null && arrayID.length == arrayText.length) {
        for (var i = 0; i < arrayID.length; i++) {
            JSON += "{";
            JSON += "text:'" + arrayText[i] + "',";
            JSON += "id:'" + arrayID[i] + "'";
            JSON += "},";
        }
    }
    JSON += "]"
    JSON = Function("return " + JSON + " ;");
    return JSON();
}
函数getJSON(arrayID,arrayText){ var JSON=“[”; //arrayID长度是否应等于arrayText length,且两者都应与null相对 if(arrayID!=null&&arrayText!=null&&arrayID.length==arrayText.length){ 对于(变量i=0;i
和3阵列

function getJSON(arrayID, arrayText, arrayNumber) {
    var JSON = "[";  
    if (arrayID != null && arrayText != null && arrayNumber!=null && Math.min(arrayNumber.length,arrayID.length)==arrayText.length) {
        for (var i = 0; i < arrayID.length; i++) {
            JSON += "{";
            JSON += "text:'" + arrayText[i] + "',";
            JSON += "id:'" + arrayID[i] + "',";
            JSON += "number:'" + arrayNumber[i] + "'";
            JSON += "},";
        }
    }
    JSON += "]"
    JSON = Function("return " + JSON + " ;");
    return JSON();
}
函数getJSON(arrayID、arrayText、arrayNumber){ var JSON=“[”; 如果(arrayID!=null&&arrayText!=null&&arrayNumber!=null&&Math.min(arrayNumber.length,arrayID.length)==arrayText.length){ 对于(变量i=0;i
为什么不直接使用
JSON.stringify()
?因此,您的问题是正确地构造数据,而不是如何将其转换为JSON?请明确这个问题。当前数组是什么样子的?发布一个CSV文件的示例,您希望从中生成该输出。我还假设有一个外部的
[]
输出示例中缺少,对吗?永远不要使用自己的序列化函数,请使用
JSON.stringify()
。只使用JSON.stringify()?没有其他关于序列化的解决方案,没有。关于重新构造数据,当然你必须编写自己的逻辑^^
function getJSON(arrayID, arrayText, arrayNumber) {
    var JSON = "[";  
    if (arrayID != null && arrayText != null && arrayNumber!=null && Math.min(arrayNumber.length,arrayID.length)==arrayText.length) {
        for (var i = 0; i < arrayID.length; i++) {
            JSON += "{";
            JSON += "text:'" + arrayText[i] + "',";
            JSON += "id:'" + arrayID[i] + "',";
            JSON += "number:'" + arrayNumber[i] + "'";
            JSON += "},";
        }
    }
    JSON += "]"
    JSON = Function("return " + JSON + " ;");
    return JSON();
}