Java xml和json互相转换方法

╰+哭是因爲堅強的太久メ 2024-04-06 10:22 171阅读 0赞

目录

  • 1 java xml转为json的方法
    • 1.1 fastjson和jdom2进行转化
    • 1.2 用的org.json包
  • 2 java json格式转xml格式
    • 2.1 使用 jdom 进行转换
    • 2.2 使用 dom4j 进行转换

1 java xml转为json的方法

1.1 fastjson和jdom2进行转化

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <auibinsurancecallback>
  3. <policyinfo>
  4. <transtype>TKTS</transtype>
  5. <eticketno>xxx</eticketno>
  6. <flightnumber>xxx</flightnumber>
  7. <flightdate>2019-10-16</flightdate>
  8. <operatetime>2019-10-16 17:20:00</operatetime>
  9. <insureno>1910161720056066735</insureno>
  10. <agreeno>102160199</agreeno>
  11. <policyno>
  12. </policyno>
  13. <policyurl>
  14. <!--[CDATA[]]-->
  15. </policyurl>
  16. </policyinfo>
  17. <returninfo>
  18. <serialnumber>2019103015284949545354
  19. </serialnumber>
  20. <retruncode>0</retruncode>
  21. <errormessage>
  22. <!--[CDATA[xxx]]-->
  23. </errormessage>
  24. </returninfo>
  25. </auibinsurancecallback>";
  26. public static JSONObject xml2JSON(byte[] xml) throws JDOMException, IOException {
  27. JSONObject json = new JSONObject();
  28. InputStream is = new ByteArrayInputStream(xml);
  29. SAXBuilder sb = new SAXBuilder();
  30. org.jdom2.Document doc = sb.build(is);
  31. Element root = doc.getRootElement();
  32. json.put(root.getName(), iterateElement(root));
  33. return json;
  34. }
  35. private static JSONObject iterateElement(Element element) {
  36. List node = element.getChildren();
  37. Element et = null;
  38. JSONObject obj = new JSONObject();
  39. List list = null;
  40. for (int i = 0; i < node.size(); i++) {
  41. list = new LinkedList();
  42. et = (Element) node.get(i);
  43. if (et.getTextTrim().equals("")) {
  44. if (et.getChildren().size() == 0)
  45. continue;
  46. if (obj.containsKey(et.getName())) {
  47. list = (List) obj.get(et.getName());
  48. }
  49. list.add(iterateElement(et));
  50. obj.put(et.getName(), list);
  51. } else {
  52. if (obj.containsKey(et.getName())) {
  53. list = (List) obj.get(et.getName());
  54. }
  55. list.add(et.getTextTrim());
  56. obj.put(et.getName(), list);
  57. }
  58. }
  59. return obj;
  60. }
  61. @Test
  62. public void xml1(){
  63. String xml = 上面贴的xml;
  64. JSONObject json= null;
  65. try {
  66. json = xml2JSON(xml.getBytes());
  67. System.out.println(json.toJSONString());
  68. } catch (JDOMException e) {
  69. e.printStackTrace();
  70. } catch (IOException e) {
  71. e.printStackTrace();
  72. }
  73. }

实现效果:

  1. {
  2. "auibinsurancecallback": {
  3. "returninfo": [
  4. {
  5. "retruncode": [
  6. "0"
  7. ],
  8. "serialnumber": [
  9. "2019103015284949545354"
  10. ]
  11. }
  12. ],
  13. "policyinfo": [
  14. {
  15. "operatetime": [
  16. "2019-10-16 17:20:00"
  17. ],
  18. "transtype": [
  19. "TKTS"
  20. ],
  21. "flightdate": [
  22. "2019-10-16"
  23. ],
  24. "insureno": [
  25. "1910161720056066735"
  26. ],
  27. "flightnumber": [
  28. "xxx"
  29. ],
  30. "agreeno": [
  31. "102160199"
  32. ],
  33. "eticketno": [
  34. "xxxx"
  35. ]
  36. }
  37. ]
  38. }
  39. }

比较丑全是list的样子,也能用

1.2 用的org.json包

在用org.json包的时候,需要把spring-boot-starter-test中的,android-json排除,要不然会报错:

java.lang.NoSuchMethodError: org.json.JSONTokener.(Ljava/io/Reader;)V

java.lang.NoSuchMethodError: org.json.JSONObject.put(Ljava/lang/String;Ljava/util/Collection;)

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-test</artifactId>
  4. <scope>test</scope>
  5. <exclusions>
  6. <exclusion>
  7. <groupId>com.vaadin.external.google</groupId>
  8. <artifactId>android-json</artifactId>
  9. </exclusion>
  10. </exclusions>
  11. </dependency>

实现方法简单:

  1. org.json.JSONObject xmlJSONObj = null;
  2. try {
  3. xmlJSONObj = XML.toJSONObject(xml);
  4. log.debug("json:" + xmlJSONObj.toString() );
  5. } catch (JSONException e) {
  6. e.printStackTrace();
  7. }

实现效果:

  1. {
  2. "auibinsurancecallback": {
  3. "returninfo": {
  4. "errormessage": "",
  5. "retruncode": 0,
  6. "serialnumber": 2.0191030152849496e+21
  7. },
  8. "policyinfo": {
  9. "policyurl": "",
  10. "operatetime": "2019-10-16 17:20:00",
  11. "transtype": "TKTS",
  12. "flightdate": "2019-10-16",
  13. "insureno": 1910161720056066800,
  14. "flightnumber": "xxx",
  15. "agreeno": 102160199,
  16. "policyno": "",
  17. "eticketno": xxx
  18. }
  19. }
  20. }

2 java json格式转xml格式

2.1 使用 jdom 进行转换

描述:

xml转json org.jdom
用 dom 提取节点 转成map
json 转 xml com.alibaba.fastjson.JSONObject

需要引入 jdom 1.x 版本:

  1. <!-- https://mvnrepository.com/artifact/org.jdom/jdom -->
  2. <dependency>
  3. <groupId>org.jdom</groupId>
  4. <artifactId>jdom</artifactId>
  5. <version>1.1.3</version>
  6. </dependency>
  7. import java.io.File;
  8. import java.io.FileOutputStream;
  9. import java.io.IOException;
  10. import java.io.StringReader;
  11. import java.io.StringWriter;
  12. import java.util.ArrayList;
  13. import java.util.HashMap;
  14. import java.util.Iterator;
  15. import java.util.List;
  16. import java.util.Map;
  17. import java.util.Map.Entry;
  18. import java.util.Set;
  19. import org.dom4j.io.OutputFormat;
  20. import org.dom4j.io.SAXReader;
  21. import org.dom4j.io.XMLWriter;
  22. import org.jdom.Document;
  23. import org.jdom.Element;
  24. import org.jdom.JDOMException;
  25. import org.jdom.input.SAXBuilder;
  26. import org.xml.sax.InputSource;
  27. import com.alibaba.fastjson.JSON;
  28. import com.alibaba.fastjson.JSONArray;
  29. import com.alibaba.fastjson.JSONObject;
  30. public class JsonToXml {
  31. public static void main(String[] args) throws Exception {
  32. //请注意使用正常的xml
  33. //xml->json
  34. // String jsonStr = xmlToJson("D:\\NewFile.xml", null);
  35. // System.out.println(jsonStr);
  36. //json->xml
  37. String xmlstr = jsonToXml("{\"b_content\":{\"sdata\":\"Ps/DPJnZZPN6QQJQodY3+hK6PWCF3/2oi3DJPnFEXgKDrXX5rHT7q/I0nQPAruuBbQRfErnenQNvPpbf/lXl690qtye0/ZEuDs0ByFdFAGffQalB+Ij3lLUMDPz=\",\"userobj\":{\"uid\":\"ma000\",\"realtype\":\"DC\",\"cn\":\"法人用户2\",\"tokenid\":\"\",\"usertype\":\"2\",\"link_person_name\":\"联系人2\",\"isreal\":\"true\",\"telephonenumber\":\"13*******21\",\"mail\":\"ceshi@123.com\",\"idcardtype\":\"10\",\"createtime\":\"20150618191221\",\"extproperties\":[\"address=广东省广州市天河区天河北路XXX号\",\"legal_code=440***********033\",\"ent_type=-1\",\"link_person_code=350************14\",\"origin=gdbs\",\"card_type_two_num=-1\",\"cert_ca=-1\",\"accout_type=2\",\"account_uid=2\",\"comm_code=-1\",\"unit_type=-1\",\"legal_id_type=10\",\"landline=-1\",\"tax_code=-1\",\"cert_notafter=-1\",\"card_type_one_num=-1\",\"local_user=-1\",\"legal_person=郑**\",\"link_person_type=10\",\"card_type_three=-1\",\"card_type_two=-1\",\"card_type_three_num=-1\",\"cert_data=-1\",\"area=guangzhou\",\"uversion=3.0\",\"cert_notbefore=-1\",\"card_type_one=-1\",\"user_typeext=2\"],\"idcardnumber\":\"11***************23\",\"useridcode\":\"38c97fa1ee2e43d4a664cffc4554cde4\",\"creditable_level_of_account_way\":\"L2@YSS@2088******653||L0@IDV@44088******75||L3@GW@44088******75\",\"creditable_level_of_account\":\"L3\"},\"pareobj\":{\"uid\":\"mayintao\",\"realtype\":\"DC\",\"cn\":\"单位用户2\",\"tokenid\":\"\",\"usertype\":\"2\",\"link_person_name\":\"联系人2\",\"isreal\":\"true\",\"telephonenumber\":\"13*******21\",\"mail\":\"ceshi@123.com\",\"idcardtype\":\"50\",\"createtime\":\"20150618191221\",\"extproperties\":[\"address=广东省广州市东山区\",\"legal_id_type=-1\",\"link_person_type=-1\",\"legal_code=-1\",\"origin=gdbs\",\"tax_code=-1\",\"legal_person=-1\",\"area=shenzhen\",\"link_person_code=-1\",\"user_typeext=2\",\"uversion=1.0\"],\"idcardnumber\":\"456787654\",\"useridcode\":\"75c91fagrr2e67d4a169cfmc8735ctrf\",\"creditable_level_of_account_way\":\"L2@YSS@2088******653||L0@IDV@44088******75||L3@GW@44088******75\",\"creditable_level_of_account\":\"L3\"},\"user_creditable_level\":{\"creditable_level_of_account_way\":\"L2@YSS@2088******653||L0@IDV@44088******75||L3@GW@44088******75\",\"creditable_level_of_account_way_list\":[{\"auth_time\":\"2018-02-28 16:45:26\",\"uniqueid\":\"***86f93fb61***\",\"user_name\":\"郭**\",\"auth_identification\":\"2088******653\",\"identity_level\":\"L2\",\"credential_no\":\"44088******75\",\"way_code\":\"YSS\"},{\"auth_time\":null,\"uniqueid\":\"***764486f93fb61212***\",\"user_name\":\"郭**\",\"auth_identification\":\"44088******75\",\"identity_level\":\"L0\",\"credential_no\":\"44088******75\",\"way_code\":\"IDV\"},{\"auth_time\":\"2018-02-13 17:12:31\",\"uniqueid\":\"*****764486f93fb612122*****\",\"user_name\":\"郭**\",\"auth_identification\":\"44088******75\",\"identity_level\":\"L3\",\"credential_no\":\"44088******75\",\"way_code\":\"GW\"}],\"creditable_level_of_account\":\"L3\"}},\"time_stamp\":\"20200821\",\"version \":\"v1\",\"sign\":\"rxf0MFT7eQqYgYKWtgzNBi6mhS2tbqkPgI \"}");
  38. System.out.println(xmlstr);
  39. createXMLFile(formatXML(xmlstr), "测试");
  40. }
  41. /**
  42. * xml转json字符串 注意:路径和字符串二传一另外一个传null<br>
  43. * 方 法 名:xmlToJson <br>
  44. * @param xmlPath xml路径(和字符串二传一,两样都传优先使用路径)
  45. * @param xmlStr xml字符串(和路径二传一,两样都传优先使用路径)
  46. * @return String
  47. * @throws IOException
  48. * @throws JDOMException
  49. */
  50. @SuppressWarnings("unchecked")
  51. public static String xmlToJson(String xmlPath,String xmlStr){
  52. SAXBuilder sbder = new SAXBuilder();
  53. Map<String, Object> map = new HashMap<String, Object>();
  54. Document document;
  55. try {
  56. if(xmlPath!=null){
  57. //路径
  58. document = sbder.build(new File(xmlPath));
  59. }else if(xmlStr!=null){
  60. //xml字符
  61. StringReader reader = new StringReader(xmlStr);
  62. InputSource ins = new InputSource(reader);
  63. document = sbder.build(ins);
  64. }else{
  65. return "{}";
  66. }
  67. //获取根节点
  68. Element el = document.getRootElement();
  69. List<Element> eList = el.getChildren();
  70. Map<String, Object> rootMap = new HashMap<String, Object>();
  71. //得到递归组装的map
  72. rootMap = xmlToMap(eList,rootMap);
  73. map.put(el.getName(), rootMap);
  74. //将map转换为json 返回
  75. return JSON.toJSONString(map);
  76. } catch (Exception e) {
  77. return "{}";
  78. }
  79. }
  80. /**
  81. * json转xml<br>
  82. * 方 法 名:jsonToXml <br>
  83. * @param json
  84. * @return String
  85. */
  86. public static String jsonToXml(String json){
  87. try {
  88. StringBuffer buffer = new StringBuffer();
  89. buffer.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
  90. buffer.append("<base>");
  91. JSONObject jObj = JSON.parseObject(json);
  92. jsonToXmlstr(jObj,buffer);
  93. buffer.append("</base>");
  94. return buffer.toString();
  95. } catch (Exception e) {
  96. e.printStackTrace();
  97. return "";
  98. }
  99. }
  100. /**
  101. * json转str<br>
  102. * 方 法 名:jsonToXmlstr <br>
  103. * @param jObj
  104. * @param buffer
  105. * @return String
  106. */
  107. public static String jsonToXmlstr(JSONObject jObj,StringBuffer buffer ){
  108. Set<Entry<String, Object>> se = jObj.entrySet();
  109. for( Iterator<Entry<String, Object>> it = se.iterator(); it.hasNext(); )
  110. {
  111. Entry<String, Object> en = it.next();
  112. if(en.getValue() != null && en.getValue().getClass().getName().equals("com.alibaba.fastjson.JSONObject")){
  113. buffer.append("<"+en.getKey()+">");
  114. JSONObject jo = jObj.getJSONObject(en.getKey());
  115. jsonToXmlstr(jo,buffer);
  116. buffer.append("</"+en.getKey()+">");
  117. }else if(en.getValue() != null && en.getValue().getClass().getName().equals("com.alibaba.fastjson.JSONArray")){
  118. if (en.getKey().equals("extproperties")) {
  119. JSONArray ja = jObj.getJSONArray(en.getKey());
  120. Iterator<Object> it1 = ja.iterator();
  121. List<String> list=new ArrayList<String>();
  122. while (it1.hasNext()) {
  123. String ob = (String) it1.next();
  124. System.out.println(ob);
  125. }
  126. }else {
  127. JSONArray jarray = jObj.getJSONArray(en.getKey());
  128. for (int i = 0; i < jarray.size(); i++) {
  129. buffer.append("<"+en.getKey()+">");
  130. JSONObject jsonobject = jarray.getJSONObject(i);
  131. jsonToXmlstr(jsonobject,buffer);
  132. buffer.append("</"+en.getKey()+">");
  133. }
  134. }
  135. }else if(en.getValue() != null && en.getValue().getClass().getName().equals("java.lang.String")){
  136. buffer.append("<"+en.getKey()+">"+en.getValue());
  137. buffer.append("</"+en.getKey()+">");
  138. }else{
  139. buffer.append("<"+en.getKey()+">"+"");
  140. buffer.append("</"+en.getKey()+">");
  141. }
  142. }
  143. return buffer.toString();
  144. }
  145. /**
  146. * 节点转map<br>
  147. * 方 法 名:xmlToMap <br>
  148. * @param eList
  149. * @param map
  150. * @return Map<String,Object>
  151. */
  152. @SuppressWarnings("unchecked")
  153. public static Map<String, Object> xmlToMap(List<Element> eList,Map<String, Object> map){
  154. for (Element e : eList) {
  155. Map<String, Object> eMap = new HashMap<String, Object>();
  156. List<Element> elementList = e.getChildren();
  157. if(elementList!=null&&elementList.size()>0){
  158. eMap = xmlToMap(elementList,eMap);
  159. Object obj = map.get(e.getName());
  160. if(obj!=null){
  161. List<Object> olist = new ArrayList<Object>();
  162. if(obj.getClass().getName().equals("java.util.HashMap")){
  163. olist.add(obj);
  164. olist.add(eMap);
  165. }else if(obj.getClass().getName().equals("java.util.ArrayList")){
  166. olist = (List<Object>)obj;
  167. olist.add(eMap);
  168. }
  169. map.put(e.getName(), olist);
  170. }else{
  171. map.put(e.getName(), eMap);
  172. }
  173. }else{
  174. map.put(e.getName(), e.getValue());
  175. }
  176. }
  177. return map;
  178. }
  179. /**
  180. * 将已经格式化的xml字符串写入xml文件
  181. * @param xmlStr
  182. * @return
  183. */
  184. public static boolean createXMLFile(String xmlStr,String xmlName){
  185. boolean flag = false;
  186. try {
  187. XMLWriter output = null;
  188. //OutputFormat format = OutputFormat.createPrettyPrint();
  189. //format.setSuppressDeclaration(true);
  190. // format.setEncoding("UTF-8");
  191. //如果上面设置的xml编码类型为GBK,则应当用FileWriter来构建xml文件,否则会出现中文连码问题
  192. /*outpt = new XMLWriter(
  193. new FileWriter(
  194. new File("D:/myeclipse/Workspaces/fusionChartsDemoTest/WebRoot/xml/"+xmlName+".xml")) ,
  195. format);
  196. */
  197. //如果上面设置的xml编码类型为utf-8,则应当用FileOutputStream来构建xml文件,否则还是会出现问题
  198. output = new XMLWriter(
  199. new FileOutputStream(
  200. new File("D:/"+xmlName+".xml")));
  201. output.setEscapeText(false);
  202. output.write( xmlStr );
  203. output.close();
  204. return flag = true;
  205. } catch (IOException e) {
  206. e.printStackTrace();
  207. return flag;
  208. }
  209. }
  210. public static String formatXML(String str) throws Exception {
  211. SAXReader reader=new SAXReader();
  212. //创建一个串的字符输入流
  213. StringReader in=new StringReader(str);
  214. org.dom4j.Document doc=reader.read(in);
  215. // 创建输出格式
  216. OutputFormat formater=OutputFormat.createPrettyPrint();
  217. //去掉xml文件的版本信息
  218. //formater.setSuppressDeclaration(true);
  219. //设置xml的输出编码
  220. formater.setEncoding("UTF-8");
  221. //创建输出(目标)
  222. StringWriter out=new StringWriter();
  223. //创建输出流
  224. XMLWriter writer=new XMLWriter(out,formater);
  225. //输出格式化的串到目标中,执行后。格式化后的串保存在out中。
  226. writer.write(doc);
  227. writer.close();
  228. // System.out.println(out.toString());
  229. //返回我们格式化后的结果
  230. return out.toString();
  231. }
  232. }

2.2 使用 dom4j 进行转换

描述:

使用 dom4j 和
com.google.gson.*

需要引入 dom4j 1.6.1 版本和 gson:

  1. <!-- https://mvnrepository.com/artifact/dom4j/dom4j -->
  2. <dependency>
  3. <groupId>dom4j</groupId>
  4. <artifactId>dom4j</artifactId>
  5. <version>1.6.1</version>
  6. </dependency>
  7. <dependency>
  8. <groupId>com.google.code.gson</groupId>
  9. <artifactId>gson</artifactId>
  10. <version>2.2.4</version>
  11. </dependency>
  12. import java.io.File;
  13. import java.io.FileOutputStream;
  14. import java.util.Map.Entry;
  15. import java.util.Set;
  16. import org.dom4j.*;
  17. import org.dom4j.io.OutputFormat;
  18. import org.dom4j.io.XMLWriter;
  19. import com.google.gson.*;
  20. public class JsonToXml2 {
  21. private static final String STR_JSON = "{\"stakeapply\":{\"voltageLevel\":\"AC00062\",\"stakeList\":{\"stake\":[{\"stakeAssetNO\":45754745,\"otherStakeTypeRemark\":\"xxx\",\"stationId\":\"547547547547\"},{\"stakeAssetNO\":34325325322,\"otherStakeTypeRemark\":\"xxx\",\"stationId\":\"52354645462\"}]},\"otherStationTypeRemark\":\"xxx\",\"stationAddr\":\"哈哈\",\"custLists\":{\"custList\":{\"custId\":\"7547547547\",\"custPhone\":13666666666,\"contactMode\":1}},\"principalList\":{\"principal\":[{\"principalName\":121212,\"principalType\":1},{\"principalName\":12121233,\"principalType\":1}]}}}";
  22. /**
  23. * 将json字符串转换成xml
  24. *
  25. * @param json
  26. * json字符串
  27. * @param parentElement
  28. * xml根节点
  29. * @throws Exception
  30. */
  31. public static Element jsonToXml(String json, Element parentElement) throws Exception {
  32. JsonObject jsonObject = new JsonParser().parse(json).getAsJsonObject();
  33. Element ee = toXml(jsonObject, parentElement, null);
  34. return ee;
  35. }
  36. /**
  37. * 将json字符串转换成xml
  38. *
  39. * @param jsonElement
  40. * 待解析json对象元素
  41. * @param parentElement
  42. * 上一层xml的dom对象
  43. * @param name
  44. * 父节点
  45. */
  46. public static Element toXml(JsonElement jsonElement, Element parentElement, String name) {
  47. if (jsonElement instanceof JsonArray) {
  48. //是json数据,需继续解析
  49. JsonArray sonJsonArray = (JsonArray)jsonElement;
  50. for (int i = 0; i < sonJsonArray.size(); i++) {
  51. JsonElement arrayElement = sonJsonArray.get(i);
  52. toXml(arrayElement, parentElement, name);
  53. }
  54. }else if (jsonElement instanceof JsonObject) {
  55. //说明是一个json对象字符串,需要继续解析
  56. JsonObject sonJsonObject = (JsonObject) jsonElement;
  57. Element currentElement = null;
  58. if (name != null) {
  59. currentElement = parentElement.addElement(name);
  60. }
  61. Set<Entry<String, JsonElement>> set = sonJsonObject.entrySet();
  62. for (Entry<String, JsonElement> s : set) {
  63. toXml(s.getValue(), currentElement != null ? currentElement : parentElement, s.getKey());
  64. }
  65. } else {
  66. //说明是一个键值对的key,可以作为节点插入了
  67. addAttribute(parentElement, name, jsonElement.getAsString());
  68. }
  69. return parentElement;
  70. }
  71. /**
  72. *
  73. * @param element 父节点
  74. * @param name 子节点的名字
  75. * @param value 子节点的值
  76. */
  77. public static void addAttribute(Element element, String name, String value) {
  78. //增加子节点,并为子节点赋值
  79. Element el = element.addElement(name);
  80. el.addText(value);
  81. }
  82. public static void main(String[] args) throws Exception {
  83. Document document = DocumentHelper.createDocument();
  84. Element root = document.addElement("stakeapply"); //默认根节点
  85. Element el = jsonToXml(STR_JSON, root);
  86. System.out.println(el.asXML());
  87. try {
  88. //生成xml文件
  89. String fileName = "test.xml";
  90. OutputFormat format = OutputFormat.createPrettyPrint();
  91. format.setEncoding("UTF-8"); // 指定XML编码
  92. format.setExpandEmptyElements(true);//自动添加闭合标签
  93. document.setXMLEncoding("UTF-8");
  94. //指定文件路径,名字,格式
  95. XMLWriter writer = new XMLWriter(
  96. new FileOutputStream(new File("D:" + File.separator + fileName)), format);
  97. writer.write(document);
  98. writer.close();
  99. } catch (Exception e) {
  100. e.printStackTrace();
  101. }
  102. }
  103. /*
  104. json串
  105. {
  106. "stakeapply": {
  107. "voltageLevel": "AC00062",
  108. "stakeList": {
  109. "stake": [
  110. {
  111. "stakeAssetNO": 45754745,
  112. "otherStakeTypeRemark": "xxx",
  113. "stationId": "547547547547"
  114. },
  115. {
  116. "stakeAssetNO": 34325325322,
  117. "otherStakeTypeRemark": "xxx",
  118. "stationId": "52354645462"
  119. }
  120. ]
  121. },
  122. "otherStationTypeRemark": "xxx",
  123. "stationAddr": "哈哈",
  124. "custLists": {
  125. "custList": {
  126. "custId": "7547547547",
  127. "custPhone": 13666666666,
  128. "contactMode": 1
  129. }
  130. },
  131. "principalList": {
  132. "principal": [
  133. {
  134. "principalName": 121212,
  135. "principalType": 1
  136. },
  137. {
  138. "principalName": 12121233,
  139. "principalType": 1
  140. }
  141. ]
  142. }
  143. }
  144. }
  145. */
  146. /*
  147. 转换后的xml
  148. <?xml version="1.0" encoding="UTF-8"?>
  149. <stakeapply>
  150. <voltageLevel>AC00062</voltageLevel>
  151. <stakeList>
  152. <stake>
  153. <stakeAssetNO>45754745</stakeAssetNO>
  154. <otherStakeTypeRemark>xxx</otherStakeTypeRemark>
  155. <stationId>547547547547</stationId>
  156. </stake>
  157. <stake>
  158. <stakeAssetNO>34325325322</stakeAssetNO>
  159. <otherStakeTypeRemark>xxx</otherStakeTypeRemark>
  160. <stationId>52354645462</stationId>
  161. </stake>
  162. </stakeList>
  163. <otherStationTypeRemark>xxx</otherStationTypeRemark>
  164. <stationAddr>哈哈</stationAddr>
  165. <custLists>
  166. <custList>
  167. <custId>7547547547</custId>
  168. <custPhone>13666666666</custPhone>
  169. <contactMode>1</contactMode>
  170. </custList>
  171. </custLists>
  172. <principalList>
  173. <principal>
  174. <principalName>121212</principalName>
  175. <principalType>1</principalType>
  176. </principal>
  177. <principal>
  178. <principalName>12121233</principalName>
  179. <principalType>1</principalType>
  180. </principal>
  181. </principalList>
  182. </stakeapply>
  183. */
  184. }

发表评论

表情:
评论列表 (有 0 条评论,171人围观)

还没有评论,来说两句吧...

相关阅读