天天看點

通過輸入流擷取的xml格式字元串轉為json和map格式

通過輸入流擷取的xml格式字元串轉為json和map格式

xml格式字元串轉json格式代碼:

try {
     		//通過輸入流擷取xml格式字元串資料
            ServletInputStream inputStream = getActionRequest().getInputStream();
            //或者通過session和request擷取
            //ServletInputStream inputStream = getActionRequest().getInputStream();
            //ServletInputStream inputStream = session.getInputStream();
            //ServletInputStream inputStream = request.getInputStream();
            //将流内容轉為xml格式
            String xml = IOUtils.toString(inputStream);
            //轉為json格式
            JSONObject xmlJSONObj = XML.toJSONObject(xml);
        } catch (Exception e) {
            e.printStackTrace();
        }
           

轉換前代碼:

xml<?xml version="1.0" encoding="UTF-8"?>
<response version="1.0" systemType="NVMS-9000">  
<status>success</status> 
<content type="list"> 
<item id="08095753-fbb2-4bc1-81c3-54d67ac"/> 
</content>
</response>
           

轉換後代碼:

xml格式字元串轉為map格式代碼:

try {
            S//通過輸入流擷取xml格式字元串資料
            ServletInputStream inputStream = getActionRequest().getInputStream();
            //或者通過session和request擷取
            //ServletInputStream inputStream = getActionRequest().getInputStream();
            //ServletInputStream inputStream = session.getInputStream();
            //ServletInputStream inputStream = request.getInputStream();
            String xml = IOUtils.toString(inputStream);
            JSONObject xmlJSONObj = XML.toJSONObject(xml);
            //以上代碼同xml格式字元串轉json格式
            Gson gson = new Gson();
            //将json直接轉為map格式
            HashMap map = gson.fromJson(xmlJSONObj.toString(), HashMap.class);
        } catch (Exception e) {
            e.printStackTrace();
        }
           

轉換前代碼:

xml<?xml version="1.0" encoding="UTF-8"?>
<response version="1.0" systemType="NVMS-9000">  
<status>success</status> 
<content type="list"> 
<item id="08095753-fbb2-4bc1-81c3-54d67ac"/> 
</content>
</response>
           

轉換後代碼: