javascript - 使用 jquery 将 CSV 转换为 JSON

标签 javascript jquery json csv

我有 csv 格式的文件:

info,value
"off to home","now"
"off to office","tomorrow"

我想使用 jquery 从这里获取 json,但找不到任何帮助。是否可以为此使用 jquery?

我的预期输出是:

 {
        "items": [
            {
                "info": "off to home",
                "value": "now"
            },
            {
                "info": "off to office",
                "value": "tomorrow"
            },

        ]
    }

PFB 我实现的代码。但它不起作用

<html>
<head>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
        <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
        <script src="csvjson.js"></script>
        <script>
$.ajax("data.csv", {
    success: function(data) {
        var jsonobject = csvjson.csv2json(data);
       alert(jsonobject);
    },
    error: function() {
        alert("error")
    }
});
</script>
</head>
<body>

</body>
</html>

最佳答案

使用 jquery-csv ,特别是 toObjects()方法

$.ajax({
    url: "data.csv",
    async: false,
    success: function (csvd) {
        var items = $.csv.toObjects(csvd);
        var jsonobject = JSON.stringify(items);
        alert(jsonobject);
    },
    dataType: "text",
    complete: function () {
        // call a function on complete 
    }
});

注意:您需要导入 jquery-csv 库才能正常工作。

这样做是将 CSV 数据转换为对象数组。

由于第一行包含标题,jquery-csv 知道将它们用作键。

从那里使用 stringify() 将数据转换为 JSON。

如果您需要包装器对象,只需创建一个并将数据附加到它即可。

var wrapper = {};
wrapper.items = items;
alert(wrapper);

免责声明:我是 jquery-csv 的作者

关于javascript - 使用 jquery 将 CSV 转换为 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18355354/

相关文章:

javascript - 如何在Javascript中读取java的HashMap列表

引用不存在的 slider 时的jQuery UI Endless Loop

java - Java 中的 JSON 数组

javascript - 具有更改的折叠断点的自定义导航栏

javascript - Node.js,简单的 TLS 客户端/服务器

jquery - 在显示 div 时它总是显示在页面顶部

javascript onclick 事件未正确触发

java - 是否可以在类级别为不同的数据类型配置 Jackson 自定义反序列化器?

javascript - 如何获取元素的 "fixed"位置?

javascript - 将 ng-repeat 与数组中的键一起使用