succtrueHeaderActionhttpwwwdongguanbankcnG012000602Address0332EsbHeaderSrcCalCodUMPSrcDate20190903SrcSysId0332VrsNo100SrcTime165025GloSeqNoG033220190903000000000004ReqNoG033220190903000000000004ScnNo1
可以使用json库将json字符串转化为Java对象。例如,使用Jackson库可以这样实现:
//导入Jackson库 import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JsonMappingException;
//json字符串 String jsonStr = "{"succ":true,"Header":{"Action":"http://www.dongguanbank.cn/G0120006/02","Address":"0332"},"EsbHeader":{"SrcCalCod":"UMP","SrcDate":"20190903","SrcSysId":"0332","VrsNo":"100","SrcTime":"165025","GloSeqNo":"G033220190903000000000004","ReqNo":"G033220190903000000000004","ScnNo":"10"},"APPBody":{"msg":"成功","code":0,"uuid":"8b3ff1a6-fb15-4893-8064-bac4118fc1b2"}}";
//创建ObjectMapper对象 ObjectMapper mapper = new ObjectMapper();
try { //将json字符串转化为Java对象 MyObject myObj = mapper.readValue(jsonStr, MyObject.class); //可以使用MyObject类的方法获取json中的字段值 System.out.println(myObj.getEsbHeader().getSrcSysId()); } catch (JsonParseException e) { e.printStackTrace(); } catch (JsonMappingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
其中,MyObject类是一个Java类,用于保存json中的字段。可以使用在线工具将json字符串转化为对应的Java类模板。例如,使用jsonschema2pojo工具,可以这样生成MyObject类:
public class MyObject {
private Boolean succ;
private Header header;
private EsbHeader esbHeader;
private APPBody aPPBody;
public Boolean getSucc() {
return succ;
}
public void setSucc(Boolean succ) {
this.succ = succ;
}
public Header getHeader() {
return header;
}
public void setHeader(Header header) {
this.header = header;
}
public EsbHeader getEsbHeader() {
return esbHeader;
}
public void setEsbHeader(EsbHeader esbHeader) {
this.esbHeader = esbHeader;
}
public APPBody getAPPBody() {
return aPPBody;
}
public void setAPPBody(APPBody aPPBody) {
this.aPPBody = aPPBody;
}
}
其中,Header、EsbHeader、APPBody也是Java类,用于保存json中的嵌套字段。根据json字符串的结构,可以使用类似的方式生成对应的Java类。
原文地址: https://www.cveoy.top/t/topic/bd2D 著作权归作者所有。请勿转载和采集!