JQ - 如何将带有 headers 的 CSV 转换为带有嵌套字典的 JSON 数组
JQ - how to convert CSV with headers to JSON array with nested dictionaries
我得到了以下 CSV 样本
key1,key2,key3,key4,key5
val1,val2,val3,val4,val5
正在寻找如何将上述结构转换为以下 JSON 结构的提示
[
{
"event": "bleep",
"sourcetype": "rats",
"fields": {
"key1":"val1",
"key2":"val2",
"key3":"val3",
"key4":"val4",
"key5":"val5"
}
},
{
"event": "bleep",
"sourcetype": "rats",
"fields": {
"key1":"val1",
"key2":"val2",
"key3":"val3",
"key4":"val4",
"key5":"val5"
}
}
]
提前致谢!
Alasql lib 可以从服务器加载数据文件,解析它并将结果放入 JSON 对象数组。
所以,这是给你的一些例子:
<script src="alasql.min.js"></script>
<script>
alasql('SELECT * FROM CSV("FileName.csv",{headers:true})',[],function(res){
var dataResult = {items:res};
});
</script>
使用-R
将输入读取为原始文本
jq -R '
(. / ",") as $keys
| [ inputs / "," | [$keys, .]
| reduce transpose[] as $i (
{event: "bleep", sourcetype: "rats"}; .fields[$i[0]] = $i[1])
]
' input.csv
我得到了以下 CSV 样本
key1,key2,key3,key4,key5
val1,val2,val3,val4,val5
正在寻找如何将上述结构转换为以下 JSON 结构的提示
[
{
"event": "bleep",
"sourcetype": "rats",
"fields": {
"key1":"val1",
"key2":"val2",
"key3":"val3",
"key4":"val4",
"key5":"val5"
}
},
{
"event": "bleep",
"sourcetype": "rats",
"fields": {
"key1":"val1",
"key2":"val2",
"key3":"val3",
"key4":"val4",
"key5":"val5"
}
}
]
提前致谢!
Alasql lib 可以从服务器加载数据文件,解析它并将结果放入 JSON 对象数组。
所以,这是给你的一些例子:
<script src="alasql.min.js"></script>
<script>
alasql('SELECT * FROM CSV("FileName.csv",{headers:true})',[],function(res){
var dataResult = {items:res};
});
</script>
使用-R
将输入读取为原始文本
jq -R '
(. / ",") as $keys
| [ inputs / "," | [$keys, .]
| reduce transpose[] as $i (
{event: "bleep", sourcetype: "rats"}; .fields[$i[0]] = $i[1])
]
' input.csv