菜单
开源

json_path

json_path 函数使用 jsonpath 语法查找值。

该函数需要两个字符串。第一个字符串是用于查找值的 JSON 字符串。第二个字符串是 JSONPath 表达式。

json_path 始终返回一个值列表。如果 JSONPath 表达式未匹配到任何值,则返回一个空列表。

json_path 的常见用例是将 local.fileremote.http 组件的输出解码并过滤为 Alloy 语法值。

在将 JSON 字符串字面量传递给 json_path 时,请记住转义双引号。

例如,JSON 值 {"key": "value"} 可以正确地表示为字符串 "{\"key\": \"value\"}"

示例

alloy
> json_path("{\"key\": \"value\"}", ".key")
["value"]


> json_path("[{\"name\": \"Department\",\"value\": \"IT\"},{\"name\":\"TestStatus\",\"value\":\"Pending\"}]", "[?(@.name == \"Department\")].value")
["IT"]

> json_path("{\"key\": \"value\"}", ".nonexists")
[]

> json_path("{\"key\": \"value\"}", ".key")[0]
value