在 json 中引用 json 的 JSONPath

问题描述 投票:0回答:1

所以我有一个 JSON

{
  "version": "0",
  "id": "437e4ed4-8ee1a178",
  "detail-type": "blah",
  "source": "blahblah",
  "account": "011604459942",
  "time": "2023-11-20T23:20:14Z",
  "detail": {
    "transaction_id": 6787,
    "customer_id": 1234,
   ...
    "created_at": "2023-11-21T10:19:40.929+11:00",
    "updated_at": "2023-11-21T10:19:52.425+11:00"
  }
}

在该 json 中,我有详细的 json,我想用 JSONPath 来引用它,但我失败了

输入路径

{
  "detail": "$.detail"
}

模板

{  
"document": <detail>
}

结果

{
  "document": [object Object]

}

如何获取所有详细值而不是 [Object 对象]?我需要这样做,因为每个请求的详细信息都会发生变化,所以我无法列出所有值

json jsonpath
1个回答
0
投票
public void sandbox() {
        String json = "{\n" +
                "  \"version\": \"0\",\n" +
                "  \"id\": \"437e4ed4-8ee1a178\",\n" +
                "  \"detail-type\": \"blah\",\n" +
                "  \"source\": \"blahblah\",\n" +
                "  \"account\": \"011604459942\",\n" +
                "  \"time\": \"2023-11-20T23:20:14Z\",\n" +
                "  \"detail\": {\n" +
                "    \"transaction_id\": 6787,\n" +
                "    \"customer_id\": 1234,\n" +
                "    \"created_at\": \"2023-11-21T10:19:40.929+11:00\",\n" +
                "    \"updated_at\": \"2023-11-21T10:19:52.425+11:00\"\n" +
                "  }\n" +
                "}";
        Object detail = JsonPath.read(json,"$.detail");
        System.out.println(detail);
    }
© www.soinside.com 2019 - 2024. All rights reserved.