如何使用 json 路径表达式从 json 中获取 "name" 字段的值

How to get the value of "name" field from the json using jsonpath expression

我想从下面的 json 中获取针对 "name" 字段的值。我尝试使用工具 http://jsonpathfinder.com/ and http://jsonpath.com/? 我正在使用 http://jsonpath.herokuapp.com/ 来验证表达式路径是否正确,但它总是 returns 我作为一个不正确的表达式。

{
  "data" : {
    "PensionRetriever(Customer=ABC, typeInfo=valid)" : {
      "name" : "lifeInsurance",
      "created_at" : 1552297775384,
      "attributes" : [ {
        "id" : "4044da39-c23b-4588-b6c4-975ce02e7cb2",
        "name" : "lifeInsurance",
        "created_at" : 1552297775384
   }]
    }
  }
}

我试过 $.data["PensionRetriever(Customer=ABC, typeInfo=valid)"].name ,但这似乎不正确。你现在能告诉我得到 "name" 的值吗,即 lifeInsurance

var path = $.JSONPath({data: json, keepHistory: false}); var test=path.query('$.data.PensionRetriever(Customer=ABC,typeInfo=valid).name');

在 JSONPath 表达式中使用单引号而不是双引号名称,即

$.data['PensionRetriever(Customer=ABC, typeInfo=valid)'].name

使用 http://jsonpath.herokuapp.com/ 上的在线评估器,通常可靠的 Jayway 失败了,显然无法消化这个名字 'PensionRetriever(Customer=ABC, typeInfo=valid)'。那是 Jayway 的错误。但是 Goessner 成功了,返回了预期的

[    "lifeInsurance" ]