Json 不敏感地引用关键案例

Json 不敏感地引用关键案例,json,key,jq,case-insensitive,Json,Key,Jq,Case Insensitive,如何在jq中表示不区分大小写的简单键引用 例如,我可以: { "key" : "value" } 或 但不是 { "key" : "value", "kEy" : "value" } 是否有一种方法来表示.key筛选器,以便它捕获key或key?给定i标志,测试内置项会不敏感地匹配大小写,您可以将其与to_条目结合使用。例如: 给定i标志,测试内置项将不敏感地匹配大小写,您可以将其与to_条目结合使用。例如: 一种方法是将所有键转换为小写作为默认格式,并从中提取您选择的键名 .k

如何在jq中表示不区分大小写的简单键引用

例如,我可以:

{
  "key" : "value"
}

但不是

{
  "key" : "value",
  "kEy" : "value"
}
是否有一种方法来表示.key筛选器,以便它捕获key或key?

给定i标志,测试内置项会不敏感地匹配大小写,您可以将其与to_条目结合使用。例如:

给定i标志,测试内置项将不敏感地匹配大小写,您可以将其与to_条目结合使用。例如:


一种方法是将所有键转换为小写作为默认格式,并从中提取您选择的键名

.key包含_条目。。不要与您选择的键名混淆,因为这是在jq中使用*entries函数族时所有键名的默认名称-with_entries、to_entries和from_entries

如果您的键嵌套在其他对象中,则需要遍历整个JSON,以递归方式重命名键并获取您选择的字段

def recursive_key_rename:
  walk( if type == "object" then with_entries( .key |= ascii_downcase ) else . end);

recursive_key_rename | .key.anotherkey

请参见

一种方法是将所有键转换为小写作为默认格式,并从中提取您选择的键名

.key包含_条目。。不要与您选择的键名混淆,因为这是在jq中使用*entries函数族时所有键名的默认名称-with_entries、to_entries和from_entries

如果您的键嵌套在其他对象中,则需要遍历整个JSON,以递归方式重命名键并获取您选择的字段

def recursive_key_rename:
  walk( if type == "object" then with_entries( .key |= ascii_downcase ) else . end);

recursive_key_rename | .key.anotherkey

请参见

Inia,如果JSON文档具有嵌套键,您是否知道如何实现这一点。e、 g而不是简单的.key,它可以dhave.key.anotherKeyInia,如果JSON文档有嵌套的键,您知道如何使其工作吗。e、 g而不是简单的.key,它可以是.key.anotherKey
with_entries( .key |= ascii_downcase ).key
def recursive_key_rename:
  walk( if type == "object" then with_entries( .key |= ascii_downcase ) else . end);

recursive_key_rename | .key.anotherkey