Bean,Json和Xml互转

2022-10-29 09:59:43 浏览数 (1)

1. Bean转XML

可根据自己的需求更改: 这里转换的是List对象

代码语言:javascript复制
public String parseNodeToXML(List<UserInfo> userInfos) {
        StringBuffer xmlnodes = new StringBuffer();
        if (userInfos != null && userInfos.size() > 0) {
            xmlnodes.append("<?xml version="1.0" encoding="GBK" standalone="yes"?>");
            xmlnodes.append("<LoginUser>");
            for (int i = 0; i < userInfos.size(); i  ) {
                UserInfo node = userInfos.get(i);
                xmlnodes.append("<UserInfo>");
                xmlnodes.append("<LDAPID>"   node.getLDAPID()   "</LDAPID>");
                xmlnodes.append("<CORPORATION>"   node.getCORPORATION()   "</CORPORATION>");
                xmlnodes.append("<SUBCOMPANY>"   node.getSUBCOMPANY()   "</SUBCOMPANY>");
                xmlnodes.append("<BUREAU>"   node.getBUREAU()   "</BUREAU>");
                xmlnodes.append("<DEPARTMENT>"   node.getDEPARTMENT()   "</DEPARTMENT>");
                xmlnodes.append("<NAME>"   node.getNAME()   "</NAME>");
                xmlnodes.append("<ISLDAPID>"   node.getISLDAPID()   "</ISLDAPID>");
                xmlnodes.append("</UserInfo>");
            }
            xmlnodes.append("</LoginUser>");
        }

        return xmlnodes.toString();
    }

2. XML转JSON

代码语言:javascript复制
String s = "<sfzh>123</sfzh><sfz>456</sfz><name>aa</name><gender>1</gender>";
JSONObject json = JSONUtil.parseFromXml(s);

json.get("sfzh");
json.get("name");

需要依赖:

代码语言:javascript复制
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.8.0.M2</version>
        </dependency>

3. JSON转bean

代码语言:javascript复制
1. 参数1:json字符串 
2. 参数2:指定类型
//转换为指定类型的ArrayList
List<ParameterDto> parameterDtos = JSON.parseArray(api, ParameterDto.class);

//转换为自定义类型(根据实际业务需求及json字符串类型进行转换)
String s2 = JSON.parseObject(api, String.class);

需要依赖:

代码语言:javascript复制
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.79</version>
        </dependency>

4.拼接XML方法

代码语言:javascript复制
 public String parseNodeToXML(List<UserInfo> userInfos) {
        StringBuffer xmlnodes = new StringBuffer();
        if (userInfos != null && userInfos.size() > 0) {
            xmlnodes.append("<?xml version="1.0" encoding="gb2312"?>");
            xmlnodes.append("<LOGINUSER>");
            for (int i = 0; i < userInfos.size(); i  ) {
                UserInfo node = userInfos.get(i);
                xmlnodes.append("<USERINFO>");
                xmlnodes.append("<LDAPID>"   node.getLDAPID()   "</LDAPID>");
                xmlnodes.append("<CORPORATION>"   node.getCORPORATION()   "</CORPORATION>");
                xmlnodes.append("</USERINFO>");
            }
            xmlnodes.append("</LOGINUSER>");
        }

        return xmlnodes.toString();
    }

0 人点赞