xml转json笔记(xstream)

news/2024/11/24 6:42:14/

文章目录

    • 场景
    • 方案
      • 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 = JSON.toJSONString(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官网文档地址

http://x-stream.github.io/tutorial.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>

http://www.ppmy.cn/news/124916.html

相关文章

NLPChatGPTLLMs技术、源码、案例实战210课

NLP&ChatGPT&LLMs技术、源码、案例实战210课 超过12.5万行NLP/ChatGPT/LLMs代码的AI课程 讲师介绍 现任职于硅谷一家对话机器人CTO&#xff0c;专精于Conversational AI 在美国曾先后工作于硅谷最顶级的机器学习和人工智能实验室 CTO、杰出AI工程师、首席机器学习工程…

惠普HP LaserJet Pro M15a 打印机驱动

惠普HP LaserJet Pro M15a 打印机驱动是官方提供的一款打印机驱动&#xff0c;本站收集提供高速下载&#xff0c;用于解决打印机与电脑连接不了&#xff0c;无法正常使用的问题&#xff0c;本动适用于&#xff1a;Windows XP / Windows 7 / Windows 8 / Windows 10 32/64位操作…

惠普HP Smart Tank 508 打印机驱动

惠普HP Smart Tank 508 打印机驱动是官方提供的一款打印机驱动&#xff0c;本站收集提供高速下载&#xff0c;用于解决打印机与电脑连接不了&#xff0c;无法正常使用的问题&#xff0c;本动适用于&#xff1a;Windows XP / Windows 7 / Windows 8 / Windows 10 32/64位操作系统…

惠普HP MFP 163W 电脑无法通过WIFI打印

故障现象&#xff1a;惠普HP MFP 163W 电脑无法通过WIFI打印 电脑和打印机都连接在同一个路由器&#xff0c;台式电脑通过有线连接到路由器&#xff0c;打印机通过无线连接到 路由器&#xff0c;之前设置好无线打印工作正常&#xff0c;最近突然电脑找不到打印机&#xff0c; …

HP1010和HP1020的区别

一、指代不同 1、HP打印机1010&#xff1a;是一款黑白激光打印机&#xff0c;接口类型为USB2.0。 2、HP打印机1020&#xff1a;惠普1020是由惠普公司生产的一款A4幅面的黑白激光打印机&#xff0c;这款机器作为停产机于2010年重新复产。 选HP1010还是HP1020 这些点很重要http:/…

惠普m154a状态页_惠普m154a感叹号闪烁

大家好&#xff0c;我是时间财富网智能客服时间君&#xff0c;上述问题将由我为大家进行解答。 惠普m154a感叹号闪烁的解决方法如下&#xff1a; 1、打开电脑管家&#xff0c;点击“工具箱”。 2、在工具箱里找到“硬件检测”。 3、在硬件检测里点击“驱动安装”。 4、可以看到…

惠普p2055dn怎么停止打印_惠普打印机p2055dn怎么使用?

1.选择“开始→设置→打印机”命令&#xff0c;打开hp打印文件夹&#xff0c;利用“打印机”文件夹可以管理和设置现有的打印机&#xff0c;也可以添加新的打印机。 2.双击“添加打印机”图标&#xff0c;启动“添加打印机”向导。在“添加打印机”向导的提示和帮助下&#xff…