我正在使用js工具来解析一些JSON /字符串。我的最小例子是以下命令:
{
"offset": 0,
"length": 3,
"string": "foo",
"captures": [
{
"offset": 0,
"length": 3,
"string": "foo",
"name": null
}
]
}
{
"offset": 4,
"length": 3,
"string": "foo",
"captures": [
{
"offset": 4,
"length": 3,
"string": "foo",
"name": null
}
]
}
这导致以下输出:
"foo,foo"
我希望此示例的最终输出为:
implode
但在这种情况下,我得到两个单独的对象,而不是我可以调用{{1}}的数组或类似对象。我想这个API不是为我的UC制作的,或者我对它的理解是非常错误的。请建议。
答案 0 :(得分:3)
以下脚本从每个具有.string
的单独对象获取字符串值,将它们包装在数组[...]
中,然后使用逗号使用join
连接数组成员。
我修改了正则表达式,因为您实际上并不需要针对给定用例的捕获组,但如果您想访问捕获组,则可以.captures[].string
而不是.string
。
echo '"foo foo"' | jq '[match("foo"; "g").string] | join(",")'