Tôi đang nhận được một tài liệu json lớn và tôi muốn phân tích cú pháp chỉ một số phần của nó cho các lớp java của tôi. Tôi đã suy nghĩ để sử dụng một cái gì đó như jsonpath để trích xuất một phần dữ liệu từ nó thay vì tạo toàn bộ hệ thống phân cấp của các lớp java.Jsonpath với Jackson hoặc Gson
Jackson hoặc Gson có hỗ trợ jsonpath theo bất kỳ cách nào không? Nếu có, bạn có thể vui lòng cung cấp cho tôi một số ví dụ hoặc chỉ đến một thư viện chuẩn khác cho mục đích này không?
Ví dụ cho phép nói rằng tôi có một tài liệu dưới đây và tôi muốn trích xuất chỉ dưới đây dữ liệu từ nó trong lớp học java của tôi:
$ .store.book [0] - Chỉ cuốn sách đầu tiên $ .store.bicycle .price - giá của xe đạp
{
"store": {
"book": [
{
"category": "reference",
"author": "Nigel Rees",
"title": "Sayings of the Century",
"price": 8.95
},
{
"category": "fiction",
"author": "Evelyn Waugh",
"title": "Sword of Honour",
"price": 12.99
},
{
"category": "fiction",
"author": "Herman Melville",
"title": "Moby Dick",
"isbn": "0-553-21311-3",
"price": 8.99
},
{
"category": "fiction",
"author": "J. R. R. Tolkien",
"title": "The Lord of the Rings",
"isbn": "0-395-19395-8",
"price": 22.99
}
],
"bicycle": {
"color": "red",
"price": 19.95
}
},
"expensive": 10
}
Không có thư viện nào trong số hai thư viện này đều có hỗ trợ jsonpath gốc; có một thư viện hoạt động trên Jackson. – fge