用于值匹配的jsonpath表达式

时间:2017-01-12 16:34:01

标签: python json search xpath jsonpath

嗨,我有这个测试数据

data = [
  {
      "company" : "abc",
      "CEO" : "john"
  },
  {
      "company" : "xyz",
      "CEO" : "ron"
  }
]

我想通过" ron"查询数据,并希望获得

  {
      "company" : "xyz",
      "CEO" : "ron"
  }

我知道在xpath中我可以写一个表达式 // * [* =" ron"] 来得到这个,但是不能提出类似的jsonpath表达式。有人可以帮我这个吗?

2 个答案:

答案 0 :(得分:1)

试试这个并让我知道这是否是你想得到的确切结果:

$.[?(@.CEO=="ron")]

答案 1 :(得分:0)

各种JSONPath实现之间存在差异。如果使用Jayway(Java)实现,则表达式$[?("ron" in @.*)]应该为您提供所需的内容。测试here。将没有data =的数组放在输入框中。

由于表达式是不确定的,因此它将始终返回列表,即

[
  {
    "company" : "xyz",
    "CEO" : "ron"
  }
]