我有 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/