Tôi có câu hỏi liên quan đến ứng dụng web Tôi đang xây dựng nơi tôi có dịch vụ REST nhận chuỗi json.Phân tích đối tượng json thành chuỗi
Các Json chuỗi là một cái gì đó như:
{
"string" : "value",
"string" : "value",
"object" : {
"string" : "value",
"string" : "value",
....
}
}
Tôi đang sử dụng resteasy để phân tích chuỗi json trong đó sử dụng jackson bên dưới. Tôi có một lớp chú thích jaxb và tôi muốn phân tích cú pháp "đối tượng" hoàn toàn thành một biến String. Lý do tôi muốn làm điều này là để có thể phân tích cú pháp json sau đó bằng cách sử dụng trình phân tích cú pháp chính xác (nó phụ thuộc vào ứng dụng gửi yêu cầu để không thể biết trước).
jaxb My chú thích lớp trông như thế này:
@XmlRootElement
@XmlAccessorType(XmlAccessType.PROPERTY)
public class Test{
@XmlElement(type = String.class)
private String object;
//getter and setter
...
}
Khi tôi thực hiện cuộc gọi còn lại và để jackson phân tích mã này tôi nhận được một lỗi
Can not deserialize instance of java.lang.String out of START_OBJECT token
. Vì vậy, thực sự tôi đang cố gắng phân tích một đoạn của một chuỗi json, đó là một đối tượng json, thành một String. Tôi dường như không thể tìm thấy ai đó có vấn đề tương tự.
Cảm ơn trước vì bất kỳ phản hồi nào.
Phải là một chuỗi? Vì bạn đang sử dụng Jackson, tôi khuyên bạn nên lưu trữ đối tượng của mình dưới dạng [JsonNode] (http://fasterxml.github.com/jackson-databind/javadoc/2.1.0/com/fasterxml/jackson/databind/JsonNode.html). Điều này sẽ được deserialized tốt và bạn có thể phân tích cú pháp nó sau đó với trình phân tích cú pháp chính xác. – nutlike
Theo nhà phân tích của tôi, nó nên là :). Tôi sẽ thử nó, nếu nó hoạt động, tôi sẽ thuyết phục anh ta. – KwintenP