簡體   English   中英

使用原始格式的 JQ 獲取唯一的 JSON 密鑰

[英]Get unique JSON keys with JQ in raw format

這是對這個問題的回答的后續問題: Get all unique JSON key names with JQ

如何從中獲取原始格式的唯一鍵

{"a": 1, "b": 2, "c": 3}
{"a": 4, "b": 5, "d": 6}

上述問題的答案如下。 但這會以類似“列表”的格式輸出數據:

$ jq -n '[inputs | keys[]] | unique' input.json
[
  "a",
  "b",
  "c",
  "d"
]

如何在沒有右括號和雙引號的情況下僅獲取原始值,即 a,b,c? 通常這可以用jq -r來實現,但在這種情況下不行。

a
b
c
d

您可以使用unique[]展開列表生成的表單唯一操作,並且仍然使用原始 output 模式-r

jq -nr '[inputs | keys_unsorted[]] | unique[]'

我還使用keys_unsorted over keys來保留鍵順序。

jqplay演示

在過濾器末尾添加|.[]以分解數組並使用標志--raw-output (或-r )將 JSON 轉換為字符串

jq -nr '[inputs | keys[]] | unique | .[]' input.json
a
b
c
d

演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM