当前位置: 首页 > 面试题库 >

使用jq使用可变键构造JSON

通远
2023-03-14
问题内容

我试图用来jq构造一个哈希值,其中键名来自变量。像这样:

jq --null-input --arg key foobar '{$key: "value"}'

但是,这不起作用,并出现以下错误:

error: syntax error, unexpected '$'
{$key: "value"} 1 compile error

问题答案:

使用括号可以$key尽早评估:

 jq --null-input --arg key foobar '{($key): "value"}'


 类似资料:
  • 问题内容: 我正在尝试从的JSON输出解析环境变量。令人讨厌的是,这些环境变量没有作为有用的键值对返回。它们只是x = y字符串的数组。这是输出的相关代码段: 我想将该数组转换为这样的东西: 这样,我可以使用一条命令来获取我关心的值。我不知道如何做到这一点。 选择数据甚至将键和值拆分为单独的元素相对容易。例如,如果使用,我将获得如下数据: 但是,我不知道如何将数据转换为对象分配。似乎应该是或的某种

  • 我需要构造一组变量,其中变量应基于2部分构造:a)name b)一个用value[1]加强的数字。对于不断增加的数字,我使用了for循环。我设法创建了一个字符串,参见test1,但没有增加变量名称,参见test2。 鉴于下面提供的错误代码,我假设R不希望我使用变量名中的“paste0”来构造某些东西。 我的R代码: “测试1”的结果: 我得到的test2错误是: “test2”的预期结果是:

  • 问题内容: 上面的命令仅输出以下值: 我如何像下面这样获取键名: 问题答案: 您可以使用: 更新: 要使用这些键创建一个BASH数组: 使用BASH 4+: 在较旧的BASH上,您可以执行以下操作: 然后打印:

  • 问题内容: 我有一个想要修改特定值的json,但是终端总是显示带有修改后值的json,但实际上并不会更改特定文件中的值。样本json: 我想更改文件本身中的address的值,但到目前为止,我一直无法更改。我尝试使用: 但这没用。有什么建议? 问题答案: AFAIK 不支持就地编辑,因此您必须先重定向到一个临时文件,然后再用它替换原始文件,或者使用moreutils包中的实用程序,如下所示: 还有

  • 如何获取密钥名称,如下所示:

  • 我有一个下面的类,它是子类的基本DTO。我需要修复受保护的构造函数,因为Intellij说:“参数化类生成器的原始使用”。有人可以看看,并指出如何重新编写这个构造函数,以支持通用风格在这里。 你觉得可能吗?有人看到此代码的潜在问题吗?感谢先进。