xml转json笔记(xstream)

阅读: 评论:0

xml转json笔记(xstream)

xml转json笔记(xstream)

文章目录

    • 场景
    • 方案
      • xstream例子
        • maven依赖
        • java代码
    • 其他
      • xstream官网文档地址
      • 比较难处理的场景
      • maven依赖

场景

回传报文,原来是xml格式的,后来有业务系统强制要求接受json。
那么两种都要兼容,所以需要xml转json。

方案

常规的dom api去解析。 这个肯定是可以实现的,但是比较麻烦。
自己写个xml转json的类,相对还好控制。
几经周折,发现xstream看起来比较简单。

xstream是比较强大的,既支持java代码拼接,也支持注解。还支持自定义转换器。

xstream例子

maven依赖
<dependency><groupId>com.thoughtworks.xstream</groupId><artifactId>xstream</artifactId><version>1.4.4</version>
</dependency>
java代码

主代码:

 XStream xstream = new XStream();xstream.processAnnotations(Entity.class);Object o = xstream.fromXML(xml);String json = JSONString(o);

主体类代码:

@XStreamAlias("request")
@Data
public class Entity {@XStreamAsAttribute()private String userAccount;@XStreamAsAttribute()private String password;@XStreamImplicit(itemFieldName="hmlst") // 这个是listprivate List<HmEntity> hmlst;
}

子实体类代码:

@Data
public class HmEntity {@XStreamAsAttributeprivate String fpqqlsh;
}

其他

xstream官网文档地址

.html

比较难处理的场景

类似这样的报文用注解怎么也弄不对。
如果实在不行,用json实体类来实现,生成正确的json报文即可。

<request><lst><user><name>zhangsan</name></user><user><name>zhangsan</name></user></lst>
</request>

maven依赖

<dependency><groupId>com.thoughtworks.xstream</groupId><artifactId>xstream</artifactId><version>1.4.4</version>
</dependency>

本文发布于:2024-02-02 04:17:14,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170681863541299.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:笔记   xml   json   xstream
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23