小编M T*_*M T的帖子

将 CSV 转换为 JSON (JS) 时如何替换字符串中的逗号

我在尝试使用 JS 将客户端提供的 CSV 转换为 JSON 数据时遇到映射问题。CSV 中的一列包含地址数据,其中包含逗号。我尝试过更改分隔符,但由于某种原因,当我阅读 CSV 时,JS 会忽略设置的分隔符并将它们转换为逗号。这意味着将数据转换为 JSON 时的映射不正确。代码和输出如下:-

JS:-

    $(document).ready(function() {
    $.ajax({
        type: "GET",
        url: "result.csv",
        dataType: "text",
        success: function(data) { $("body").append(csvJSON(data));}
     });
});

function csvJSON(csv){

    var lines=csv.split("\n");

    var result = [];

    var headers=lines[0].split(",");

    for(var i=1;i<lines.length;i++){

        var obj = {};
        var currentline=lines[i].split(",");


        for(var j=0;j<headers.length;j++){

            obj[headers[j]] = currentline[j];
        }

        result.push(obj);

    }

    return JSON.stringify(result); 
  }
Run Code Online (Sandbox Code Playgroud)

CSV 数据:-

"type","geometry__type","geometry__coordinates__001","geometry__coordinates__002","properties__name","properties__address","properties__address2","properties__city","properties__state","properties__postal","properties__country","properties__phone","properties__phoneFormatted","properties__email","properties__web"
"Stockist","Point",-110.788,43.4705,"Whitechapel Ltd","Box 11719, 1135 Maple Way","Jackson,","Wyoming","WY",83002,"US",13077399478,"+1 307 739-9478","whitechapel@wyoming.com","www.whitechapel-ltd.com"
"Stockist","Point",103.82705,1.30637,"Thrive Design & Trading","19, Tanglin Road, #03-35","Tanglin Shopping Centre","Singapore",,247909,"Singapore","65-67357333","65-67357333","francis@thrive-products.com.sg",
Run Code Online (Sandbox Code Playgroud)

目前结果:-

   { …
Run Code Online (Sandbox Code Playgroud)

javascript csv arrays jquery json

1
推荐指数
1
解决办法
3092
查看次数

标签 统计

arrays ×1

csv ×1

javascript ×1

jquery ×1

json ×1