`

java 把xml转化为json

    博客分类:
  • Java
阅读更多

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

常规思路是:

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

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

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

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

方式一:使用json-lib

 

XMLSerializer xmlSerializer = new XMLSerializer();
		JSON jsonObj = xmlSerializer.read(responseTextObj);
		String jsonStr = jsonObj.toString();
		jsonStr = jsonStr.replace("[]", "\"\"");

 依赖:

<dependency>
            <groupId>net.sf.json-lib</groupId>
            <artifactId>json-lib</artifactId>
            <version>2.4</version>
            <classifier>jdk15</classifier>
        </dependency>
        <dependency>
            <groupId>xom</groupId>
            <artifactId>xom</artifactId>
            <version>1.2.5</version>
        </dependency>

        <dependency>
            <groupId>xom</groupId>
            <artifactId>xom</artifactId>
            <version>1.2.5</version>
            <classifier>sources</classifier>
        </dependency>

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

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

 

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

package com.JSON_java;

public class Main {
	public static int PRETTY_PRINT_INDENT_FACTOR = 4;
    public static String TEST_XML_STRING =
            "<breakfast_menu>\n" +
                    "<food>\n" +
                    "<name>Belgian Waffles</name>\n" +
                    "<price>$5.95</price>\n" +
                    "<description>\n" +
                    "Two of our famous Belgian Waffles with plenty of real maple syrup\n" +
                    "</description>\n" +
                    "<calories>650</calories>\n" +
                    "</food>\n" +
                    "<food>\n" +
                    "<name>Strawberry Belgian Waffles</name>\n" +
                    "<price>$7.95</price>\n" +
                    "<description>\n" +
                    "Light Belgian waffles covered with strawberries and whipped cream\n" +
                    "</description>\n" +
                    "<calories>900</calories>\n" +
                    "</food>\n" +
                    "</breakfast_menu>";

    public static void main(String[] args) {
        try {
            JSONObject xmlJSONObj = XML.toJSONObject(TEST_XML_STRING);
            String jsonPrettyPrintString = xmlJSONObj.toString(PRETTY_PRINT_INDENT_FACTOR);
            System.out.println(jsonPrettyPrintString);
        } catch (JSONException je) {
            System.out.println(je.toString());
        }
    }
}

实际应用:

 

 

依赖的源码见附件 ,上述代码见附件中的Main.java

github 地址:https://github.com/douglascrockford/JSON-java

https://github.com/douglascrockford/JSON-java/blob/master/XML.java

参考:http://heshans.blogspot.com/2014/01/java-library-to-convert-xml-to-json.html

 

 

  • 大小: 4.8 KB
  • 大小: 32.2 KB
1
0
分享到:
评论

相关推荐

    XML转换为JSON(支持多种方法)

    在Java中,`json-lib`是一个非常流行的JSON库,它提供了将XML转换为JSON的功能。以下是如何使用json-lib实现这一转换的步骤: 1. 引入依赖:在项目中引入json-lib的JAR包,通常可以通过Maven或Gradle添加依赖。 2....

    java解析xml生成json对象

    这个方法可能接受XML文件的路径作为参数,然后使用选择的XML解析器(如DOM或SAX)读取文件,接着使用JSON库将解析出的XML数据转化为JSON对象。 4. **使用示例**:在测试类中,创建一个测试方法调用工具类的方法,...

    仅依赖jdk把xml解析为json(多层解析)

    仅依赖jdk把xml解析为json,支持多层xml转为json字符串

    Xml和Json互转工具类

    本实例主要是通过json-libjar包中的工具类进行操作,简单实现了xml字符串和json字符串之间的转化,xml文件和json文件的转化。而且还兼容jsonObject和jsonArray两种格式,自己摸索,记录一下以便学习。

    ResultSet转化为json,json转化为List

    本文将详细介绍如何在Java中将ResultSet转换为JSON,以及如何将JSON转换为List。 首先,我们来探讨如何将ResultSet转化为JSON。在Java中,通常使用第三方库如Jackson或Gson来实现JSON操作。这里以Jackson为例: 1....

    java把list集合转化为json所需的jar包

    在Java开发中,将List集合转化为JSON格式是常见的数据处理需求。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也方便机器解析和生成。在Java中,我们可以借助第三方库来...

    Java读取json文件,并转化为map取值

    本教程将深入讲解如何使用Java读取JSON文件,并将其内容转化为Map以便进行取值操作。 首先,我们需要引入处理JSON的库。Java标准库并不直接支持JSON操作,所以我们通常会使用第三方库,如`org.json`或`...

    xml转换json数据类,可直接使用

    这个类库可能适用于多种编程语言,如Java、Python、C#或JavaScript等,使得开发者能够轻松地在XML和JSON之间进行数据互换。 描述中的重复内容强调了这个类库的直接可用性,意味着它可能提供了简单易用的API,允许...

    多层集合嵌套的JSON数据转化为Java对象(src.zip)

    Java作为一种常用的后端开发语言,需要处理这些JSON数据,将其转化为Java对象以便于操作。本主题主要关注如何使用`net.sf.json.JSONObject`这个库将多层集合嵌套的JSON数据转换为Java对象。 `...

    JAVA获取图片EXIF等综合信息并转化为JSON

    这篇博客文章“JAVA获取图片EXIF等综合信息并转化为JSON”提供了一个实用的方法来处理这一需求。EXIF信息通常存储在JPEG和TIFF格式的图像文件中,包含了丰富的设备信息和拍摄参数。 首先,我们需要引入一个能够读取...

    java中json格式转化所需jar包

    在标题中提到的“java中json格式转化所需jar包”,可能指的是Jackson库的相关jar包,例如`jackson-databind.jar`,这个包包含了基本的JSON绑定功能,允许我们将Java对象序列化为JSON和反序列化回Java对象。...

    XML数据生成Json格式代码

    2. 构建JSON结构:解析后的XML数据需要转化为JSON格式的对象。根元素将转换为JSON对象,其子元素和属性成为该对象的键值对。如果XML有嵌套元素,这些将转换为JSON对象的子对象。属性和元素的值可以是字符串、数字、...

    IOS XML类型转JSON类型

    1. TouchXML:一个Objective-C的XML解析库,提供了更方便的方式来解析XML并转化为Objective-C对象,可以简化XML到JSON的转换过程。 2. JSONKit:一个高效的JSON解析和序列化库,可以轻松地将XML解析后的对象序列化为...

    List转化为json的jar包

    在Java中,将List对象转换为JSON字符串是一个常见的需求,例如在Web服务开发或者数据存储和传输时。"List转化为json的jar包"就是为了满足这种需求而存在的一个工具库。 这个jar包提供了一种简单的方法,帮助开发者...

    json转对象(java 多级嵌套)

    本篇文章将详细探讨如何在Java中将JSON字符串转换为对象,特别关注多级嵌套的情况。 在Java中,我们可以使用多种库来解析和操作JSON,如Jackson、Gson、org.json等。这里以Jackson库为例,因为它提供了强大的功能和...

    转化成json格式

    在DBFile.java这个文件中,如果涉及数据库操作和JSON转换,可能是对数据库查询结果进行处理,将查询到的数据转化为JSON格式。通常,我们会先执行SQL查询,获取结果集,然后遍历结果集,逐条将数据转化为JSON对象。...

    PullXML和Json

    JSON解析通常包括将JSON字符串转化为Java对象(反序列化)和将Java对象转化为JSON字符串(序列化)。 **Android_JieXi_Server** 可能是实现了一个简单的本地服务器,用于模拟API调用或数据传输,这对于测试XML和...

    xstream将xml文档转换成json对象

    在这个场景中,我们将探讨如何使用XStream将XML文档转换成Java对象,进而转化为JSON对象。 首先,我们需要引入XStream库。XStream的核心功能是能够将Java对象和XML之间的映射自动化,极大地简化了序列化和反序列化...

    JavaXML和JSON处理.pdf

    例如,使用JAXB可以将Java对象直接序列化为XML,反之亦然,而Gson和Jackson则能将Java对象转化为JSON字符串,并从JSON字符串反序列化回Java对象。 在实际应用中,根据具体需求和性能测试结果来选择合适的数据交换...

Global site tag (gtag.js) - Google Analytics