xml : 简单案例
<Document>
<PRH>
<PA01>
<PA01A>
<PA01AI01>2019112716295473566552</PA01AI01>
<PA01AR01>2019-11-27T16:29:54</PA01AR01>
</PA01A>
<PA01B>
<PA01BQ01>XXX</PA01BQ01>
<PA01BD01>10</PA01BD01>
<PA01BI01>622926198501293785</PA01BI01>
<PA01BI02>G10151210H0001</PA01BI02>
<PA01BD02>02</PA01BD02>
</PA01B>
<PA01E>
<PA01ES01>2</PA01ES01>
</PA01E>
</PA01>
</PRH>
</Document>
BizAnalyUtil
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
@Slf4j
public class BizAnalyUtil {
private static JAXBContext context = null;
static {
try {
context = JAXBContext.newInstance(ReportMessageV2.class);
} catch (JAXBException e) {
log.error("JAXBContext.newInstance-error : {} . ", e);
}
}
public static ReportMessageV2 analy(String reqId, String msg) throws AnalyException{
ReportMessageV2 jsonRootBean = null;
try {
Unmarshaller unmarshaller = context.createUnmarshaller();
jsonRootBean = (ReportMessageV2) unmarshaller.unmarshal(new StringReader(msg));
return jsonRootBean;
}catch (Exception e) {
log.error("{} . ", e);
}
// json解析
//if(msg.contains("Document")) {
//JSONObject jsonObject = JSONObject.parseObject(msg);
//msg = jsonObject.getString("Document");
//}
//jsonRootBean = JSON.parseObject(msg, ReportMessageV2.class);
}
}
ReportMessageV2 : 简单案例
package com.fintell.dp3.biz.entity.v2;
import java.io.Serializable;
import javax.xml.bind.annotation.XmlRootElement;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@SuppressWarnings("serial")
@Getter
@Setter
@ToString
@NoArgsConstructor
@AllArgsConstructor
// 指定解析节点
@XmlRootElement(name = "Document")
public class ReportMessageV2 implements Serializable{
private PRH PRH;
private PIM PIM;
}