java 把xml转化为json

简介:

Java 中如何把xml转化为json 呢?

常规思路是:

(1)通过第三方库 把xml 转换为java bean;

(2)把java bean 序列化为json 字符串

但是上述方式有一个缺点,那就是需要java bean来中转.

以下提供两种方式 不需要java bean

方式一:使用json-lib

 

Java代码   收藏代码
  1. XMLSerializer xmlSerializer = new XMLSerializer();  
  2.         JSON jsonObj = xmlSerializer.read(responseTextObj);  
  3.         String jsonStr = jsonObj.toString();  
  4.         jsonStr = jsonStr.replace("[]""\"\"");  

 依赖:

Java代码   收藏代码
  1. <dependency>  
  2.             <groupId>net.sf.json-lib</groupId>  
  3.             <artifactId>json-lib</artifactId>  
  4.             <version>2.4</version>  
  5.             <classifier>jdk15</classifier>  
  6.         </dependency>  
  7.         <dependency>  
  8.             <groupId>xom</groupId>  
  9.             <artifactId>xom</artifactId>  
  10.             <version>1.2.5</version>  
  11.         </dependency>  
  12.   
  13.         <dependency>  
  14.             <groupId>xom</groupId>  
  15.             <artifactId>xom</artifactId>  
  16.             <version>1.2.5</version>  
  17.             <classifier>sources</classifier>  
  18.         </dependency>  

 注意:通过json-lib 把xml转化为json时,空节点都会转化为空数组,即[],这是非常不好的,所以需要把[]转化为空字符串:jsonStr.replace("[]", "\"\"")

 参考:http://hw1287789687.iteye.com/blog/2224407

 

方式二:使用github 上开源的库

Java代码   收藏代码
  1. package com.JSON_java;  
  2.   
  3. public class Main {  
  4.     public static int PRETTY_PRINT_INDENT_FACTOR = 4;  
  5.     public static String TEST_XML_STRING =  
  6.             "<breakfast_menu>\n" +  
  7.                     "<food>\n" +  
  8.                     "<name>Belgian Waffles</name>\n" +  
  9.                     "<price>$5.95</price>\n" +  
  10.                     "<description>\n" +  
  11.                     "Two of our famous Belgian Waffles with plenty of real maple syrup\n" +  
  12.                     "</description>\n" +  
  13.                     "<calories>650</calories>\n" +  
  14.                     "</food>\n" +  
  15.                     "<food>\n" +  
  16.                     "<name>Strawberry Belgian Waffles</name>\n" +  
  17.                     "<price>$7.95</price>\n" +  
  18.                     "<description>\n" +  
  19.                     "Light Belgian waffles covered with strawberries and whipped cream\n" +  
  20.                     "</description>\n" +  
  21.                     "<calories>900</calories>\n" +  
  22.                     "</food>\n" +  
  23.                     "</breakfast_menu>";  
  24.   
  25.     public static void main(String[] args) {  
  26.         try {  
  27.             JSONObject xmlJSONObj = XML.toJSONObject(TEST_XML_STRING);  
  28.             String jsonPrettyPrintString = xmlJSONObj.toString(PRETTY_PRINT_INDENT_FACTOR);  
  29.             System.out.println(jsonPrettyPrintString);  
  30.         } catch (JSONException je) {  
  31.             System.out.println(je.toString());  
  32.         }  
  33.     }  
  34. }  

实际应用:

相关文章
|
2月前
|
XML 存储 JSON
Twaver-HTML5基础学习(19)数据容器(2)_数据序列化_XML、Json
本文介绍了Twaver HTML5中的数据序列化,包括XML和JSON格式的序列化与反序列化方法。文章通过示例代码展示了如何将DataBox中的数据序列化为XML和JSON字符串,以及如何从这些字符串中反序列化数据,重建DataBox中的对象。此外,还提到了用户自定义属性的序列化注册方法。
47 1
|
3月前
|
XML JSON 前端开发
【Web前端揭秘】XML与JSON:数据界的双雄对决,你的选择将如何改写Web世界的未来?
【8月更文挑战第26天】本文深入探讨了XML和JSON这两种广泛使用的数据交换格式在Web前端开发中的应用。XML采用自定义标签描述数据结构,适用于复杂层次数据的表示,而JSON则以键值对形式呈现数据,更为轻量且易解析。通过对两种格式的示例代码、结构特点及应用场景的分析,本文旨在帮助读者更好地理解它们的差异,并根据实际需求选择最合适的数据交换格式。
61 1
|
3月前
|
XML JavaScript Java
【JAVA XML 探秘】DOM、SAX、StAX:揭秘 Java 中 XML 解析技术的终极指南!
【8月更文挑战第25天】本文详细探讨了Java中三种主流的XML解析技术:DOM、SAX与StAX。DOM将XML文档转换为树状结构,便于全方位访问和修改;SAX采取事件驱动模式,适用于大型文件的顺序处理;StAX则兼具DOM和SAX的优点,支持流式处理和随机访问。文中提供了每种技术的示例代码,帮助读者理解如何在实际项目中应用这些解析方法。
184 1
|
2月前
|
XML JSON 数据处理
C# 中的 XML 与 JSON 数据处理
在现代软件开发中,数据交换和存储需求日益增长,XML 和 JSON 成为最常用的数据格式。本文从 C# 角度出发,详细介绍如何处理这两种格式,并提供示例代码。对于 XML,我们介绍了读取、创建和写入 XML 文件的方法;对于 JSON,则展示了如何使用 Newtonsoft.Json 库进行数据解析和序列化。此外,文章还总结了常见问题及其解决方案,帮助开发者更好地应对实际项目中的挑战。
180 61
C# 中的 XML 与 JSON 数据处理
|
1月前
|
XML JSON 数据可视化
数据集学习笔记(二): 转换不同类型的数据集用于模型训练(XML、VOC、YOLO、COCO、JSON、PNG)
本文详细介绍了不同数据集格式之间的转换方法,包括YOLO、VOC、COCO、JSON、TXT和PNG等格式,以及如何可视化验证数据集。
98 1
数据集学习笔记(二): 转换不同类型的数据集用于模型训练(XML、VOC、YOLO、COCO、JSON、PNG)
|
1月前
|
JSON JavaScript Java
在Java中处理JSON数据:Jackson与Gson库比较
本文介绍了JSON数据交换格式及其在Java中的应用,重点探讨了两个强大的JSON处理库——Jackson和Gson。文章详细讲解了Jackson库的核心功能,包括数据绑定、流式API和树模型,并通过示例演示了如何使用Jackson进行JSON解析和生成。最后,作者分享了一些实用的代码片段和使用技巧,帮助读者更好地理解和应用这些工具。
在Java中处理JSON数据:Jackson与Gson库比较
|
1月前
|
分布式计算 资源调度 Hadoop
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
77 4
|
1月前
|
XML JavaScript Java
java与XML文件的读写
java与XML文件的读写
26 3
|
1月前
|
JSON Java 数据格式
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
73 1
|
2月前
|
JSON Java fastjson
java小工具util系列3:JSON和实体类转换工具
java小工具util系列3:JSON和实体类转换工具
27 2
下一篇
无影云桌面