0
我實際上已經在PHP中使用restfullyii創建了一些web服務。Jackson反序列化restfullyii的響應
但我有一些麻煩反序列化傑克遜我的web服務的響應。
這是響應的一個示例:
{"success":true,"message":"Record(s) Found","data":{"totalCount":"1","user":{...}}}
反序列化該響應我使這種型號:
@JsonIgnoreProperties(ignoreUnknown = true)
public class response {
@JsonProperty("data")
private HashMap<String, Object> data;
@JsonProperty("message")
private String message;
@JsonProperty("success")
private Boolean success;
public HashMap<String, Object> getData() {
return data;
}
public void setData(HashMap<String, Object> data) {
this.data = data;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public Boolean getSuccess() {
return success;
}
public void setSuccess(Boolean success) {
this.success = success;
}
}
和反序列化用戶我使用這些行: (RST是的結果反序列化響應)
ObjectMapper mapper = new ObjectMapper();
try {
String rstTxt = String.valueOf(rst.getData().get("user"));
System.out.println(rstTxt);
user user = mapper.readValue(rstTxt, user.class);
} catch (JsonParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JsonMappingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
但它不起作用,因爲「rst.get 。數據()獲取(「用戶」)」返回這個模式的字符串: {屬性=值} 事實上,返回以下異常:
org.codehaus.jackson.JsonParseException: Unexpected character ('i' (code 105)): was expecting double-quote to start field name
有你,我怎麼可以做一個想法反序列化用戶屬性?
謝謝。