//解析xml格式数据转为json
public JSONObject parsingString(String content) {
content = "<response>\n" +
" <success>true</success>\n" +
" <code></code>\n" +
" <message />\n" +
" <cpcode>ZSL</cpcode>\n" +
" <mailNo>ZFG19540</mailNo>\n" +
" <realMailNos>ZFG19540</realMailNos>\n" +
" <tracesElement>\n" +
" <destinationCountry>1V</destinationCountry>\n" +
" <status>Delivered</status>\n" +
" <group>\n" +
" <type>TF</type>\n" +
" <track>\n" +
" <time>2020-08-07 11:56:21</time>\n" +
" <country>SHANGHAI-CHINA</country>\n" +
" <city>SHANGHAI-CHINA</city>\n" +
" <facilityName>SHANGHAI-CHINA</facilityName>\n" +
" <timeZone />\n" +
" <desc>ARRIVED AT SORT FACILITY</desc>\n" +
" <actionCode>PU_PICKUP_SUCCESS</actionCode>\n" +
" <exception />\n" +
" </track>\n" +
"\t\t</group>\n" +
" </tracesElement>\n" +
"</response>";
JSONObject jsonObject = new JSONObject();
JSONArray jsonArray = new JSONArray();
try {
// 将字符串转为XML
Document doc = DocumentHelper.parseText(content.replaceAll(" ", ""));
// 获取根节点
Element rootElt = doc.getRootElement();
Iterator elements = rootElt.elementIterator();
while (elements.hasNext()){
Element child = (Element) elements.next();
jsonObject.put(child.getName(), child.getText());
//tracesElement节点
if("tracesElement".equals(child.getName())) {
List subElemets = child.elements();
for(int i = 0; i < subElemets.size(); i++){
Element subChild = (Element) subElemets.get(i);
jsonObject.put(subChild.getName(), subChild.getText());
//group
if("group".equals(subChild.getName())) {
List groupList = subChild.elements();
for (int i1 = 0; i1 < groupList.size(); i1++) {
Element groupChild = (Element) groupList.get(i1);
if("type".equals(groupChild.getName())) {
jsonObject.put(groupChild.getName(), groupChild.getText());
} else {
JSONObject trackObj = new JSONObject();
List trackList = groupChild.elements();
for (int i2 = 0; i2 < trackList.size(); i2++) {
Element trackChild = (Element) trackList.get(i2);
trackObj.put(trackChild.getName(), trackChild.getText());
}
jsonArray.add(trackObj);
}
}
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
jsonObject.put("trackList", jsonArray);
System.out.println(jsonObject.toString());
return jsonObject;
}
解析Xml格式字符串转为json
最新推荐文章于 2024-06-05 13:49:14 发布