如何使用 jsonpath 表达式从 json 中获取“name”字段的值

我想从下面的json中获取针对“名称”字段的值。我尝试使用工具 http://jsonpathfinder.com/ 和 http://jsonpath.com/?我正在使用 http://jsonpath.herokuapp.com/ 来验证表达式路径是否正确,但它总是将我作为不正确的表达式返回。

{

  "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


富国沪深
浏览 201回答 2
2回答

摇曳的蔷薇

在 JSONPath 表达式中使用单引号而不是双引号名称,即$.data['PensionRetriever(Customer=ABC, typeInfo=valid)'].name使用 http://jsonpath.herokuapp.com/ 的在线评估器,通常可靠的Jayway失败了,显然无法消化这个名字 。这是一个Jayway的错误。但Goessner成功了,回报了预期的结果。'PensionRetriever(Customer=ABC, typeInfo=valid)'[    "lifeInsurance" ]

守候你守候我

var path = $.JSONPath({data: json, keepHistory: false});var test=path.query('$.data.PensionRetriever(Customer=ABC,typeInfo=valid).name');
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java