設計你的下列類按以下,如果沒有那麼做,
import com.fasterxml.jackson.annotation.JsonProperty;
public class Jackson {
private String status;
private String msg;
private TransactionDetails transaction_details = new TransactionDetails();
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public TransactionDetails getTransaction_details() {
return transaction_details;
}
public void setTransaction_details(TransactionDetails transaction_details) {
this.transaction_details = transaction_details;
}
}
class TransactionDetails{
private A3690 a3690;
@JsonProperty("3690")
public A3690 getA3690() {
return a3690;
}
public void setA3690(A3690 a3690) {
this.a3690 = a3690;
}
}
class A3690{
private String mihpayid ;
private String status;
public String getMihpayid() {
return mihpayid;
}
public void setMihpayid(String mihpayid) {
this.mihpayid = mihpayid;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}
,你可以用它同樣,用於創建傑克遜對象JSON,
String jsonString = null;
try {
Jackson jacksonObj = new Jackson(); // populate it as per needs...
jsonString = objectMapper.writeValueAsString(jacksonObj);
} catch (JsonProcessingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(jsonString); // will return JSON into String formate.
並且爲了將字符串JSON轉換成傑克遜對象同樣地,
String str = "{"status":"status","msg":"msg","transaction_details":{"3690":{"mihpayid":"mihpayid","status":"status1"}}}";
try {
Jackson jacksonObject = objectMapper.readValue(str, Jackson.class);
System.out.println(" Status -" + jacksonObject.getStatus() + " : msg - " + jacksonObject.getMsg());
System.out.println(" Mihpayid -" + jacksonObject.getTransaction_details().getA3690().getMihpayid() + " : Status - " + jacksonObject.getTransaction_details().getA3690().getStatus());
} 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();
}
更新:
如果鍵3690沒有修復, 我的意思是隨機到來然後need to refactoring
傑克遜class likewise
,(這裏只傑克遜類是足以讓所有, 無需像上面提到的那樣創建更多課程)
公共類傑克遜{
private String status;
private String msg;
//private TransactionDetails transaction_details = new TransactionDetails();
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
HashMap<String, HashMap<String,String>> transaction_details = new HashMap<String, HashMap<String,String>>();
@JsonProperty("transaction_details")
public HashMap<String, HashMap<String,String>> getMap() {
return transaction_details;
}
public void setMap(HashMap<String, HashMap<String,String>> transaction_details) {
this.transaction_details = transaction_details;
}
}
享受,祝您好運...!
是什麼問題?這是例外嗎? –
提供您的傑克遜Java請 –
請提供一個映射類 –