我尝试将同一目录中的大量JSON文件转换为NDJSON,以便将它们加载到分析工具中。
我使用jq是为了使用下面的命令将它们转换成一个文件。
for file in *; do cat $file |jq -c '.[]' >> testNDJSON.json; done
原始的JSON结构如下
{"user_id":"user_id_value",
"user_properties": {
"key": "value",
"key": "value",
"key": "value"
}
}
使用我的命令将数据写入文件,但格式如下
user_id_value, {"key": "value", "key: "value", "key": "value"}
因此,本质上,用户id和user_properties都丢失了键和外部JSON括号。我不确定如何在jq中修复这个问题
我想要得到的是我在同一文件中逐行拥有的相同JSON结构。我不明白为什么上面的命令会从JSON中删除最大的键和括号。
{"user_id":"user_id_value", "user_properties": { "key": "value", "key": "value", "key": "value"} }
发布于 2020-04-17 13:38:17
此问题将结束。我上面的代码是正确的。我的bash中有环境配置,这导致了我的错误。
我要感谢@Cyrus和@Antoine Pietri提供的有用的评论。通过本文了解了更多关于jq工具的信息。
https://stackoverflow.com/questions/61269468
复制相似问题