我需要更新以下 json 文件值,其中键与子字符串匹配。 样本.json
{
"A": "a"
"re": {
"jok/pok": ^20.0,
"sok/dok": ^23.0,
"jok/ssd": ^32.0
}
}
现在我需要将
-dev
附加到那些键以 jok
开头的键/值。
{
"A": "a"
"re": {
"jok/pok": ^20.0-dev,
"sok/dok": ^23.0,
"jok/ssd": ^32.0-dev
}
}
我知道我缺少一些非常简单的解决方案。
假设您的输入实际上是格式正确且有效的 JSON:
{
"A": "a",
"re": {
"jok/pok": "^20.0",
"sok/dok": "^23.0",
"jok/ssd": "^32.0"
}
}
以下 jq 程序生成所需的输出:
.re |= with_entries(select(.key|startswith("jok")).value += "-dev")
输出:
{
"A": "a",
"re": {
"jok/pok": "^20.0-dev",
"sok/dok": "^23.0",
"jok/ssd": "^32.0-dev"
}
}