Gestalten Sie Ihre folgenden Klassen nach unten, wenn nicht, dann tat,
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;
}
}
Sie es ebenfalls verwenden können, für die Erstellung von Jackson Objekt zu 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.
Und zum Konvertieren von String JSON zu Jackson Object ebenfalls,
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();
}
AKTUALISIERT:
Wenn Schlüssel 3690 nicht fix ist, ich meine, es ist zufällig dann need to refactoring
Jackson kommt class likewise
, (hier nur Jackson-Klasse ist für alle genug, keine Notwendigkeit, mehr Klassen wie oben erwähnt zu erstellen)
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;
}
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;
}
}
Genießen, Best of luck ... !!!
Was ist das Problem? Ist es eine Ausnahme? –
bieten Sie Ihre Jackson Java bitte –
Bitte stellen Sie eine Zuordnung Klasse –