gpt4 book ai didi

arrays - 使用 jq 将两个 JSON 数组合并到一个文件中

转载 作者:行者123 更新时间:2023-12-05 08:49:17 25 4
gpt4 key购买 nike

我有一个包含两个数组的 JSON 文件。我想将这些数组组合成一个对象数组,每个对象都包含来自每个原始数组的一个元素。

JSON 输入如下所示:

{
"en": [
"E1",
"E2",
"E3",
"E4"
],
"fr": [
"F1",
"F2",
"F3",
"F4"
]
}

期望的输出:

[
{ "en":"E1", "fr":"F1"},
{ "en":"E2", "fr":"F2"},
{ "en":"E3", "fr":"F3"},
{ "en":"E4", "fr":"F4"}
]

无论我尝试什么,我都无法驯服 jq 来提供它。我最接近的是使用过滤器 。 | {en:.en[],fr:.fr[]} 它给出了数组的所有可能配对,如下所示:

{
"en": "E1",
"fr": "F1"
}
{
"en": "E1",
"fr": "F2"
}
{
"en": "E1",
"fr": "F3"
}
{
"en": "E1",
"fr": "F4"
}
{
"en": "E2",
"fr": "F1"
}
{
"en": "E2",
"fr": "F2"
}
{
"en": "E2",
"fr": "F3"
}
{
"en": "E2",
"fr": "F4"
}
{
"en": "E3",
"fr": "F1"
}
{
"en": "E3",
"fr": "F2"
}
{
"en": "E3",
"fr": "F3"
}
{
"en": "E3",
"fr": "F4"
}
{
"en": "E4",
"fr": "F1"
}
{
"en": "E4",
"fr": "F2"
}
{
"en": "E4",
"fr": "F3"
}
{
"en": "E4",
"fr": "F4"
}

如何让它配对每个数组的第一个元素、第二个元素等。

最佳答案

您还可以使用 transpose 将数组“压缩”在一起:

[[.en,.fr] | transpose[] | {en:.[0], fr:.[1]} ]

关于arrays - 使用 jq 将两个 JSON 数组合并到一个文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64210344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com