当前位置: 首页 > 知识库问答 >
问题:

jq通过转换现有的json来创建一个新的json

长孙玉泽
2023-03-14
    {
    "prodid_876006": {
        "serid": [{
            "seridone": "3265874"
        }, {
            "seridtwo": "21458915"
        }],
        "serials": ["028915"]
    },
    "prodid_980": {
        "serid": [{
            "seridone": "32743214"
        }, {
            "seridtwo": "5469872"
        }],
        "serials": ["192147","1632589"]
    }
}

所需输出:对于每个json对象,提取prodid_信息和序列数组,并制作一个新的json文件,格式如下:

{    
"prodid_876006" : ["028915"],
"prodid_980" : ["192147","1632589"]
}

这个jq命令是什么?

keys ,.[].serials

给我以下信息:

[
  "prodid_876006",
  "prodid_980"
]
[
  "028915"
]
[
  "192147",
  "1632589"
]

最新问题:

我怎么也可以在另一个json以下输出?(这里的键是序列数组的每个元素,值是第一个示例json的键):

{    
"028915" : ["prodid_876006"],
"192147" : ["prodid_980"],
"1632589" : ["prodid_980"]
}

共有1个答案

唐宇定
2023-03-14

类似的方法可以工作,您可以提取一个键值对数组,并通过管道从_条目

% jq '[to_entries[] | {"key": .key, "value": .value.serials}] | from_entries' 42762941.json
{
  "prodid_876006": [
    "028915"
  ],
  "prodid_980": [
    "192147",
    "1632589"
  ]
}

 类似资料:
  • 问题内容: 因此,在克服IE的故障和不兼容之后,我终于得到了尺寸正确的长方体工作( 更新: )。动画需要对所有面进行单独的动画处理,而不是单个父元素,但是,这似乎是使其在IE中工作的唯一方法。 使用单个长方体效果很好,但是使用多个长方体是有问题的,因为将透视图应用于单个已变换的元素(这对于在IE中工作是必需的),无论它们在舞台上的位置如何,它们的外观都相同: 如果将透视图应用于舞台,消失点将位于其

  • 在Java(任何库)中,从像下面这样的json开始(具有嵌套字段、数组和嵌入文档): 然后应用以下jsonpath(作为示例,理想情况下是任何类型的jsonpath) 创建如下所示的json文档: 所以问题是:使用jsonpath不仅可以获取数据,还可以获取所有嵌套字段,并创建一个新的json作为输入的子集? 任何例子都像往常一样受到赞赏 注意:在对此进行了大量思考之后,我得出的结论是,我需要的是

  • Kotlin plugin包含了一个有趣的特性,它能把Java代码转成Kotlin代码。正如任何自动化那样,结果不会很完美,但是在你第一天能够使用Kotlin语言开始编写代码之前,它还是提供了很多的帮助。 所以我们在MainActivity.java类中使用它。打开文件,然后选择Code -> Convert Java File to Kotlin File。对比它们的不同之处,可以让你更熟悉这门

  • 我有两个形状多边形实例(由lon,lat点组成),在不同的部分相交。我试图遍历,确定两个多边形之间是否有交集,然后创建一个新的多边形,排除该交集。从所附的图像来看,我基本上不希望红色的圆圈与黄色的轮廓重叠,我希望边缘正好是黄色轮廓开始的地方。 我已经尝试按照这里的说明,但它根本没有改变我的输出,而且我不想将它们合并到一个级联的联合中。我没有得到任何错误消息,但是当我将这些多边形添加到一个KML文件

  • 条款40: 通过分层来体现 "有一个" 或 "用...来实现" 使某个类的对象成为另一个类的数据成员,从而实现将一个类构筑在另一个类之上,这一过程称为 "分层"(Layering)。例如: class Address { ... }; // 某人居住之处 class PhoneNumber { ... }; class Person { public: ... private: string na

  • 如果你已经使用过Android Studio和Gradle,那么这一章会比较简单。我不会给出很多细节和截图,因为用户界面和细节可能会一直变化。 我们的应用是由一个简单的天气app组成,正如所使用的Google’s Beginners Course in Udacity。我们可能会关注不同的事情,但是app的想法都是一样的,你会发现在一个典型的app里面会包括很多不同的东西。如果你的Android开