xml以及json 和Java对象的相互转化

1.xml对象转化为map对象

public Map< String, String> xmlStrToMap( String xmlStr) throws Exception { if (StringUtils.isEmpty(xmlStr)) { return null; } Map< String, String> map = new HashMap< String, String>(); // 将xml格式的字符串转换成Document对象 Document doc = DocumentHelper.parseText(xmlStr); // 获取根节点 Element root = doc.getRootElement(); // 获取根节点下的所有元素 List children = root.elements(); // 循环所有子元素 if (children != null && children. size() > 0) { for ( int i = 0; i < children. size(); i++) { Element child = (Element) children. get(i); map.put(child.getName(), child.getTextTrim()); } } return map; }

2.map对象转化为普通的Javabean
public Bean mapToBean( Map< String, String> map) throws ParseException { Bean be= new Bean (); be.setName( map.get( "Name")); ... ... return be; }

3.通过http访问解析json对象
//读取图片json
    public static void ReadPicJsonForHomeDto(HomeDto homeDto) {
        String homePicUrl = "http://www.gymboclub.com/index.php?app=square&mod=Mate&act=homePicDtoList";
        String homePicContent = getContent(homePicUrl);
        
        List<HomePicDto> homePicDtoList = new ArrayList<HomePicDto>();
        JSONObject picObj;
        if(StringUtils.isBlank(homePicContent)){
            return;
        }
        try {
            picObj = new JSONObject(homePicContent);
            String picMsg = picObj.getString("msg");
            String picStatus = picObj.getString("status");
            System.out.println(picMsg+picStatus);
            
            String picData = picObj.getString("data");
            JSONArray picjsonArray = new JSONArray(picData);
            int picSize = picjsonArray.length();
            for(int i=0;i<picSize;i++){
                JSONObject picJsonObj = picjsonArray.getJSONObject(i);
                HomePicDto homePicDto = new HomePicDto();
                homePicDto.setPicPath(picJsonObj.get("picPath").toString());
                homePicDto.setLink(picJsonObj.get("link").toString());
                homePicDtoList.add(homePicDto);
            }
            homeDto.setHomePicDtoList(homePicDtoList);
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

  public static String getContent(String strUrl) {

        try {

            URL url = new URL(strUrl);
            BufferedReader br = new BufferedReader(new InputStreamReader(url

            .openStream(), "UTF-8"));

            String s = "";

            StringBuffer sb = new StringBuffer("");

            while ((s = br.readLine()) != null) {


               sb.append(s);

            }

            br.close();

            return sb.toString();

            // return sb.toString();

        } catch (Exception e) {

            log.error("Html获取失败!");

            return null;

        }

     }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值