Java中xml字符串与json字符串的互转

0.pom文件

<dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20180813</version> </dependency>

1.XML字符串 -> JSON字符串

/** * @Description: XML字符串 -> JSON字符串 * @Author: Yiang37 * @Date: 2021/08/12 10:53:47 * @Version: 1.0 */ public static String xmlToJson(String xmlStr) { JSONObject jsonObject = XML.toJSONObject(xmlStr); return jsonObject.toString(); }

2.JSON字符串 - > XML字符串

/** * @Description: JSON字符串 - > XML字符串 * @Author: Yiang37 * @Date: 2021/08/12 10:54:12 * @Version: 1.0 */ public static String jsonToXml(String jsonStr) { JSONObject jsonObject = new JSONObject(jsonStr); String xmlStr = XML.toString(jsonObject); return xmlStr; }

3.参考demo

package com.boclink.utils; import org.json.JSONObject; import org.json.XML; /** * @Description: 报文格式转换 * @Class: MessageConversionUtils * @Author: Yiang37 * @Date: 2021/8/12 10:36 * @Version: 1.0 */ public class MessageConversionUtils { // 头部追加 <?xml version="1.0" encoding="UTF-8"?> final static String HEAD = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"; // abc标签后追加 locale=" zh_CN" final static String BLANK = " "; final static String ADD_STR = "locale=\"zh_CN\""; /** * @Description: XML字符串 -> JSON字符串 * @Author: Yiang37 * @Date: 2021/08/12 10:53:47 * @Version: 1.0 */ public static String xmlToJson(String xmlStr) { JSONObject jsonObject = XML.toJSONObject(xmlStr); return jsonObject.toString(); } /** * @Description: JSON字符串 - > XML字符串 * @Author: Yiang37 * @Date: 2021/08/12 10:54:12 * @Version: 1.0 */ public static String jsonToXml(String jsonStr) { JSONObject jsonObject = new JSONObject(jsonStr); String xmlStr = XML.toString(jsonObject); // abc标签后追加ADD_STR String abc = appendXmlTagCon(xmlStr, "abc", ADD_STR); return HEAD + abc; } /** * @Description: xml的指定标签后 追加指定字符串 * @Author: Yiang37 * @Date: 2021/08/12 11:12:28 * @Version: 1.0 */ public static String appendXmlTagCon(String xmlStr, String tagStr, String appendStr) { // 计算标签出现的起始位置 int begin = xmlStr.indexOf(tagStr); if (begin < 0){ // 未出现该字符串 返回原报文 return xmlStr; } // 计算追加字符串时的起始位置 int i = begin + tagStr.length(); // 插入追加的字符串 StringBuilder builder = new StringBuilder(xmlStr).insert(i, BLANK + appendStr); return builder + ""; } }

__EOF__

本文作者羊37
本文链接https://www.cnblogs.com/yang37/p/15131963.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   羊37  阅读(307)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示