tôi có cấu trúc Json sau:Phân tích một mảng Json sử dụng Chơi Framework và Java
{
"name": "John",
"surname": "Doe",
"languages": [
{"language": "english", "level": "3"},
{"language": "french", "level": "1"}
]
}
Tôi đang sử dụng khung Play để phân tích dữ liệu JSON từ một thông điệp HTTP, được gửi bằng cách sử dụng một tự phát triển Dịch vụ REST. Tôi biết đã làm thế nào tôi có thể phân tích cú pháp tên và họ từ dữ liệu JSON bằng cách nhìn vào các tài liệu, điều này được thực hiện bằng cách:
JsonNode json = request().body().asJson();
String name = json.findPath("name").textValue();
String surname = json.findPath("surname").textValue();
Bây giờ câu hỏi của tôi là, làm thế nào tôi có thể phân tích các mảng "ngôn ngữ" trong Json dữ liệu. Tôi đã tìm thấy một số bài viết khác về vấn đề này, nhưng tất cả họ đều sử dụng Scala, mà tôi không thể có được đầu của tôi xung quanh, vì vậy tốt hơn là tôi đang tìm kiếm một giải pháp Java.
Tôi đã thử một vài điều, ví dụ như này:
List<JsonNode> languages = json.findPath("languages").getElements();
Theo json.findPath tài liệu() trả về một JsonNode, trên đó có thể được gọi là getElements function(), mà sẽ trở lại một Iterator của JsonNode. Nhưng tôi nhận được một lỗi biên dịch trên getElements: "Phương thức getElements() không được xác định cho loại JsonNode"
Bất kỳ ai biết cách dễ dàng để phân tích cú pháp mảng như vậy? Cảm ơn trước
Thx để biết mẹo! Hãy kiểm tra nó khi tôi nói. – jensbrulmans
Tôi quản lý để đạt được những gì tôi muốn bằng cách sử dụng 'mảng mảng Mảng = json.withArray (" fieldName ");' Cảm ơn bạn rất nhiều sebster! – jensbrulmans
@sebster bạn đã thực hiện một ngày của tôi. Hoạt động hoàn hảo –