当前位置: 首页 > 面试题库 >

jq,拆分数组的巨大json并保存到以值命名的文件中

汪驰
2023-03-14
问题内容

我有一个包含对象数组的json,每个对象在以下位置均包含唯一值:

"id":"value"

我遵循了另一个答案,我可以使用jq和awk将整个文档分为多个文件

jq -c ".[]" big.json | gawk '{print > "doc00" NR ".json";}'

这样,输出文件将按顺序命名。
我如何使用id值命名文件?


问题答案:

对于数组中的每个元素,将id和元素本身打印在两行中,因此您可以从奇数行中获取id并将偶数行打印到以id命名的文件中。

jq -cr '.[] | .id, .' big.json | awk 'NR%2{f=$0".json";next} {print >f;close(f)}'


 类似资料:
  • 问题内容: 我有相对较小的对象的巨大(〜7GB)json数组。 有没有一种相对简单的方法可以过滤这些对象而无需将整个文件加载到内存中? --stream 选项看起来合适,但我不知道如何将[path,value]的流折叠到原始对象。 问题答案: jq 1.5具有流解析器。jq FAQ提供了一个示例,该示例如何将JSON对象的顶级数组转换为其元素流: 这可能足以满足您的目的,但是值得注意的是setpa

  • 我能够使用StringTokenizer正确地拆分,但在令牌形成后无法访问单个元素。尝试使用array.split(),但它没有将值拆分为单独的数组值。请帮帮我。提前谢了。 我的代码

  • 问题内容: 当我通过创建zip存档时,是否可以将生成的存档拆分为多个卷? 假设我的整体存档中有个,我想将其拆分为3个文件,每个文件限制为10 MB。 是否有具有此功能的zip API?或任何其他好的方法来实现这一目标? 谢谢Thollsten 问题答案: 检查:http : //saloon.javaranch.com/cgi- bin/ubb/ultimatebb.cgi?ubb=get_top

  • 我有一个字符串,其中我需要拆分它并存储在ArrayList中,如下所示;所有这些都使用Java7。 下面是我的程序的输入; 我在这里试图实现的是一个数组列表,如下所示。 我编写了一个示例代码,但似乎没有将elementB分组到列表中。我们如何将这两个元素组合成一个列表。 示例代码: 我得到下面的输出,其中elementB没有改变,而是重复自身。有人能给我指路吗

  • 问题内容: 我有一个巨大的XML文件(15 GB)。我想将XML文件中的“文本”标签转换为单个页面。 样本XML文件: 我最初使用DOM解析器,但它使JAVA OUT OF MEMORY(Valid)不足。现在,我已经使用STAX编写了JAVA代码。它运作良好,但是性能确实很慢。 这是我编写的代码: 这段代码运行良好。(忽略任何小错误)。根据我的理解,XMLStreamConstants.CHAR

  • 问题内容: 是否可以将JSON数据保存到本地文本文件中?因此,稍后我可以通过加载该文件再次使用它,并取回存储的JSON数据。其实我真正想做的是在文本文件中导出JSON数据,以便以后可以用作import.Any的建议或解决方案? 这是我要用于导出到文本的一些示例。 http://jsfiddle.net/k56eezxp/ 问题答案: 是否可以将JSON数据保存到本地文本文件中? 是。当前,链接的j