使用 json 路径从 json 中提取值

Extracing value from json using json path

我尝试从以下 json:

中提取基于电子邮件值的 id 值
[
{"id":11,"username":"John","address":"London","email":"john@test.com"},
{"id":12,"username":"Piere","address":"Paris","email":"piere@test.com"},
{"id":13,"username":"Anne","address":"Moscow","email":"anne@test.com"},
]

我的表情是

$..[?(@.email=='anne@test.com')].id

没用。这个表达式有什么问题?

你的表达是正确的。我认为您需要改正 JSON 数据。存在语法错误。 这是正确的:

[
{"id":11,"username":"John","address":"London","email":"john@test.com"},
{"id":12,"username":"Piere","address":"Paris","email":"piere@test.com"},
{"id":13,"username":"Anne","address":"Moscow","email":"anne@test.com"}
]

下次您可以使用它来首先验证您的 JSON。

https://jsonformatter.curiousconcept.com/

您也可以在此处验证您的表达式

http://jsonpath.com/