所以我有一个 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 对象]?我需要这样做,因为每个请求的详细信息都会发生变化,所以我无法列出所有值
我认为您需要检查
JsonPath
lib 的基本使用,请检查此网址(https://github.com/json-path/JsonPath)以获取更多示例。
示例代码:
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);
}