【发布时间】:2021-12-05 22:04:21
【问题描述】:
我有一个如下的 json。我想要一个 json 路径表达式来检查 [e3] 是否存在于下面的 json 中。有人可以帮忙吗?
{
"status": "ok",
"error": [
"[e1]",
"[e2]",
"[e3]",
"[e4]"
]
}
【问题讨论】:
-
yourObj['error']['e3'] !== undefined
-
我试过了,没用。我试过jsonpath.herokuapp.com
-
基于此答案stackoverflow.com/a/52977857/1065197。我使用
$[?(@.error[?(@ == '[e3]')] != [])]和 Jayway JsonPath 评估器进行了测试。 -
是的,路易吉。这样可行。如果存在 [e3],它将返回整个 json。有没有办法返回“是”或更具体的东西?返回 [e3] 本身也可以。谢谢。
-
@LuiggiMendoza
Jsonpath并不总是返回 json。如果路径是确定的,您实际上可以将其转换为预期的返回类型。$.status和$.error[2]返回字符串