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. }  

实际应用:

相关文章
|
1月前
|
Java
java实现遍历树形菜单方法——映射文件VoteTree.hbm.xml
java实现遍历树形菜单方法——映射文件VoteTree.hbm.xml
9 0
|
1月前
|
JSON 前端开发 JavaScript
|
15天前
|
XML JSON JavaScript
Java中XML和JSON的比较与应用指南
本文对比了Java中XML和JSON的使用,XML以自我描述性和可扩展性著称,适合结构复杂、需验证的场景,但语法冗长。JSON结构简洁,适用于轻量级数据交换,但不支持命名空间。在Java中,处理XML可使用DOM、SAX解析器或XPath,而JSON可借助GSON、Jackson库。根据需求选择合适格式,注意安全、性能和可读性。
25 0
|
20天前
|
XML JSON JavaScript
使用JSON和XML:数据交换格式在Java Web开发中的应用
【4月更文挑战第3天】本文比较了JSON和XML在Java Web开发中的应用。JSON是一种轻量级、易读的数据交换格式,适合快速解析和节省空间,常用于API和Web服务。XML则提供更强的灵活性和数据描述能力,适合复杂数据结构。Java有Jackson和Gson等库处理JSON,JAXB和DOM/SAX处理XML。选择格式需根据应用场景和需求。
|
1月前
|
XML Java 数据格式
使用java解析XML文件的步骤
使用java解析XML文件的步骤
10 0
|
1月前
|
JSON Java fastjson
JSON与Java的两种解析方式
JSON与Java的两种解析方式
|
13天前
|
XML Java 数据库连接
mybatis中在xml文件中通用查询结果列如何使用
mybatis中在xml文件中通用查询结果列如何使用
13 0
|
15天前
|
XML JavaScript 前端开发
xml文件使用及解析
xml文件使用及解析
|
1月前
|
XML C# 数据格式
使用C#操作XML文件
使用C#操作XML文件
11 0
|
1月前
|
Kubernetes Cloud Native Java
Activiti 简介以及最新activiti依赖 pom.xml文件(使用时注意对应版本号)
Activiti 简介以及最新activiti依赖 pom.xml文件(使用时注意对应版本号)
39 1