如何使用保持数组结构的jq在tsv中转换带有数组的JSON?

故障追踪器

我需要获取mysql表的内容,该表具有一些将数据存储为JSON数组的字段,并将其吸收到另一个数据库表中。我需要为此使用REST API,并且它以JSON返回记录。出于性能原因,我需要将该输出作为Tab Tab Tab Return。因此,我使用jq的@tsv。

直到遇到一个内部具有JSON数组的字段,这才有效,然后jq抱怨“数组在csv行中无效”。

这是一个JSON示例

{
"records": [
 {
        "id": 1,
        "metadata": {
            "description": null,
            "width": 0,
            "height": 0,
            "secondaryColor": "#fff",
            "callToAction": [
                {
                    "link": "/truc.html",
                    "value": "nice",
                    "colors": {
                        "primary": "transparent;",
                        "secondary": "transparent;"
                    }
                }
            ]
        },
        "parent": null
    }
        ]
}

我想要以下结果

1  null  0  0  #fff  [ { "link": "/truc.html", "value": "nice", "colors": { "primary": "transparent;", "secondary": "transparent;" } } ]  null

所以基本上我希望数组完整无缺,但只返回一行

所以我写了这个

jq -c --raw-output '.records[]|[.id,.metadata.description,.metadata.width,.metadata.height,.metadata.secondaryColor,.metadata.callToAction,.parent]|@tsv

但我有“数组在csv行中无效”错误

那可能吗 ?

谢谢

切普纳

您需要先对号召性用语进行JSON编码。

% jq -c --raw-output '.records[] |
[.id, .metadata.description, 
      .metadata.width,
      .metadata.height,
      .metadata.secondaryColor,
      (.metadata.callToAction|@json),  # convert this field to JSON first
      .parent
] | @tsv' tmp.json
1       0   0   #fff    [{"link":"/truc.html","value":"nice","colors":{"primary":"transparent;","secondary":"transparent;"}}]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用数组将带有数组的tsv转换为JSON

我如何使用cypher(和py2neo)将带有数组的JSON结构转换为唯一节点

如何将带有数组的普通值转换为 PostgreSQL 中的数据结构?

jq:如何在带有数组的嵌套json树中添加对象,键/值

jq不能为tsv格式,只有数组错误

如何为带有数组的结构分配内存?

带有数组的json

AWS Athena:使用带有数组的结构的属性查询

金属中带有数组的结构

带有数组和非数组的结构数组是如何在内存中组织的?

使用JQ将带有标头的数组的JSON转换为CSV

如何使用具有数组的 2 个结构解码 JSON

将带有数组的json结构展平为多个没有数组的平面对象

使用带有数组参数的宏在 C 中初始化结构数组

如何将带有数组的json数组解析为带有Set的java对象

如何使用角度资源发送带有数组的对象?

如何在 Java 中使用带有数组的方法?

返回带有数组数据的json

带有数组头的 JSON 对象

带有数组的 Kusto 复杂 json

如何将带有数组的字符串转换为数组

jq:将具有数组的JSON文件转换为CSV-已转置?

如何过滤带有数组的对象?

Jolt json转换问题。有一个内部带有数组的记录,需要转换为记录数组

如何使用jq将JSON对象流转换为数组

如何将带有数据对象的数组转换为带有 javascripts 的字符串数组?

用PHP创建带有数组数组的json对象

不能在 ReactJs 中使用带有数组索引结构的 Object.entries

将带有数组的 Json 解析为数组如何嵌套在 Flutter 中?