`
chakey
  • 浏览: 363906 次
  • 性别: Icon_minigender_1
  • 来自: 水星
社区版块
存档分类
最新评论

xml和JSON格式相互转换的Java实现

    博客分类:
  • Java
阅读更多

 

依赖的包:

json-lib-2.4-jdk15.jar

ezmorph-1.0.6.jar

xom-1.2.1.jar

commons-lang-2.1.jar

commons-io-1.3.2.jar

jaxen-1.1.jar

 

 

输入xml文件,输出JSON对象

 

 

package com.cash.util;

import java.io.IOException;
import java.io.InputStream;

import org.apache.commons.io.IOUtils;
import net.sf.json.JSON;
import net.sf.json.xml.XMLSerializer;

public class Test {
    public static void ConvertXMLtoJSON()  {
        InputStream is = ConvertXMLtoJSON.class.getResourceAsStream("sample.xml");
        String xml;
        try {
            xml = IOUtils.toString(is);
            System.out.println(xml);
            XMLSerializer xmlSerializer = new XMLSerializer();
            JSON json = xmlSerializer.read(xml);
            System.out.println(json.toString(1));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
    public static void main(String[] args) {
        ConvertXMLtoJSON();
    }
}
    /**
     * 将xml字符串转换为JSON对象
     * @param xmlFile xml字符串
     * @return JSON对象
     */
    public JSON getJSONFromXml(String xmlString) {
        XMLSerializer xmlSerializer = new XMLSerializer();
        JSON json = xmlSerializer.read(xmlString);
        return json;
    }
    /**
     * 将xmlDocument转换为JSON对象
     * @param xmlDocument XML Document
     * @return JSON对象
     */
    public JSON getJSONFromXml(Document xmlDocument) {
        String xmlString = xmlDocument.toString();
        return getJSONFromXml(xmlString);
    }
    /**
     * 将xml字符串转换为JSON字符串
     * @param xmlString
     * @return JSON字符串
     */
    public String getJSONStringFromXml(String xmlString ) {
        return getJSONFromXml(xmlString).toString();
    }
    /**
     * 将xmlDocument转换为JSON字符串
     * @param xmlDocument XML Document
     * @return JSON字符串
     */
    public String getXMLtoJSONString(Document xmlDocument) {
        return getJSONStringFromXml(xmlDocument.toString());
    }
    /**
     * 读取XML文件准换为JSON字符串
     * @param xmlFile  XML文件
     * @return JSON字符串
     */
    public String getXMLFiletoJSONString(String xmlFile) {
        InputStream is = JsonUtil.class.getResourceAsStream(xmlFile);
        String xml;
        JSON json = null;
        try {
            xml = IOUtils.toString(is);
            XMLSerializer xmlSerializer = new XMLSerializer();
            json = xmlSerializer.read(xml);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return json.toString();
    }
    /**
     * 将Java对象转换为JSON格式的字符串
     * 
     * @param javaObj
     *            POJO,例如日志的model
     * @return JSON格式的String字符串
     */
    public static String getJsonStringFromJavaPOJO(Object javaObj) {
        return JSONObject.fromObject(javaObj).toString(1);
    }
    /**
     * 将Map准换为JSON字符串
     * @param map
     * @return JSON字符串
     */
    public static  String getJsonStringFromMap(Map<?, ?> map) {
        JSONObject object = JSONObject.fromObject(map);
        return object.toString();
    }


  
  
分享到:
评论
23 楼 隐者醉逍遥 2012-06-21  
public String getXMLFiletoJSONString(String xmlFile) { 
kimmking 写道
文不对题啊,
只有xml->json
没看到json->xml

怎么叫 相互转换呢?

public String getXMLFiletoJSONString(String xmlFile) { 
22 楼 wenwena 2011-10-24  
灰常感谢 简洁有效 是我想要的
21 楼 kimmking 2011-05-30  
文不对题啊,
只有xml->json
没看到json->xml

怎么叫 相互转换呢?
20 楼 shanjing 2011-05-30  
楼主的想法其实很实用。
毕竟大部分人不熟悉面向对象数据库,所以使用Json来序列化XML对象保存到数据库。
最近我做的项目也在考虑这个问题,没想到看到志同道合的朋友了。
千年潜水大王的我也出来透个气。
尽管还没有下载和验证代码,还是先感谢吧。
19 楼 dengtl 2011-05-30  
可以看看我的实现:http://code.google.com/p/smodel/
提供很很方便的结构化文档(包括XML, JSON,POJO)的读、改、验证,以及之间的转换。
18 楼 mzba520 2011-05-30  
如何将json转化成xml啊?
17 楼 mqlfly2008 2011-05-30  
留个爪,回头test一把!功能很有用啊!
16 楼 chakey 2011-05-30  
guaziaim9x 写道
好贴。。。学习到了。这几天正好在考虑json和XML的转化问题,最然说现在是.net开发为主,但是java是我的根,我不知道我用java的思想去写c#有没有什么忌讳,希望楼主指导一下

不好意思,我不会C#。我主要的开发语言还是Java。相互学习吧 哈哈
15 楼 chakey 2011-05-30  
qepwqnp 写道
经测试,所需的jar有误,应该为
commons-beanutils-1.7.0.jar
commons-collections-3.2.1.jar
commons-lang-2.3.jar
commons-logging-1.1.jar
ezmorph-1.0.6.jar
json-lib-2.4-jdk15.jar
其中commons-collections-3.2.1.jar版本如果不对会报错误--org/apache/commons/collections/map/ListOrderedMap这个异常

谢谢你的回复,我没有注意到
14 楼 chakey 2011-05-30  
qepwqnp 写道
楼主自己写的哪部分功能?
son-lib-2.4-jdk15.jar中感觉都包含了json的相关转换功能啊
参考
http://json-lib.sourceforge.net/

是的,Json-lib 相关转换已经很全了。大多是通过 JSONObject.fromObject(jsonString)
可以准换为javad对象,map,数组等。我是根据本身的业务需求做了些封装。我的需求很简单:将xml document转换为JSON对象,再准换为MongoDB的DBObject对象,然后存放到MongoDB中就可以了。
13 楼 guaziaim9x 2011-05-29  
好贴。。。学习到了。这几天正好在考虑json和XML的转化问题,最然说现在是.net开发为主,但是java是我的根,我不知道我用java的思想去写c#有没有什么忌讳,希望楼主指导一下
12 楼 qepwqnp 2011-05-28  
经测试,所需的jar有误,应该为
commons-beanutils-1.7.0.jar
commons-collections-3.2.1.jar
commons-lang-2.3.jar
commons-logging-1.1.jar
ezmorph-1.0.6.jar
json-lib-2.4-jdk15.jar
其中commons-collections-3.2.1.jar版本如果不对会报错误--org/apache/commons/collections/map/ListOrderedMap这个异常
11 楼 Vicent_Lee 2011-05-28  
很可惜、源码不全啊、
10 楼 qepwqnp 2011-05-28  
楼主自己写的哪部分功能?
son-lib-2.4-jdk15.jar中感觉都包含了json的相关转换功能啊
参考
http://json-lib.sourceforge.net/
9 楼 lfy9608110935 2011-05-28  

好东西学习下
8 楼 chakey 2011-05-27  
elvishehai 写道
import com.cash.xml.ConvertXMLtoJSON 这个是那个包下面的呀,

Sorry,贴错了。已经去除掉。
7 楼 chakey 2011-05-27  
lnaigg 写道
贴几个jar包有啥用呢,映射规则是啥总得说明一下吧。

这几个是json-lib-2.4-jdk15.jar的依赖包。
贴jar包就是方便一些童鞋的下载。
6 楼 chakey 2011-05-27  
coollzh 写道
用Xstream不是很好嘛,几行代码就搞定,扩展性也不弱

你说的对。
不过这里我是想把xml Document转换为JSON对象,作为一个整体存储的。
5 楼 lnaigg 2011-05-27  
贴几个jar包有啥用呢,映射规则是啥总得说明一下吧。
4 楼 coollzh 2011-05-27  
用Xstream不是很好嘛,几行代码就搞定,扩展性也不弱

相关推荐

    java的xml和json相互转换工具类,亲测直接用

    本篇文章将详细介绍Java中如何实现XML和JSON的相互转换,并提供一个名为`XmlToJson.java`的工具类作为参考。 首先,XML是一种结构化的数据表示方式,它以树形结构存储数据,易于人类阅读和编写,同时也易于机器解析...

    java实现Xml与json之间的相互转换操作示例

    java实现Xml与json相互转换的必要性:在Web开发中,我们经常需要在前后端之间进行数据的交换,由于后端和前端使用的数据格式可能不同,这时候就需要实现数据格式的转换,尤其是在使用Java作为后端开发语言时,如何将...

    java XML 和json 转换工具类

    java XML 和json 转换工具类 java XML 和json 转换工具类java XML 和json 转换工具类 java XML 和json 转换工具类java XML 和json 转换工具类 java XML 和json 转换工具类java XML 和json 转换工具类 java XML 和...

    java的xml和json相互转换工具类,直接用

    实现的一个简单的基于java 的,可以在xml和json之间相互转换的工具类,因为实在没有积分了,所以要点积分,希望理解~

    XML、JAVA、JSON多种方式互相转换

    在"JsonDemo"这个示例中,可能包含了使用Java进行XML、JSON转换的代码实例,可能涵盖了上述提到的一些方法。通过阅读和学习这些代码,开发者可以更好地理解并掌握这些转换技巧,从而在实际项目中更加高效地处理数据...

    java实现xmlToJson

    Java实现XML到JSON转换涉及到的是数据格式之间的互换,这对于数据交换、API接口设计和Web服务来说非常常见。XML(可扩展标记语言)是一种结构化数据格式,常用于存储和传输数据;而JSON(JavaScript Object Notation...

    java xml json 相互转换

    本篇将详细介绍Java环境下XML和JSON的相互转换,并针对提供的jar包进行解析。 XML是一种结构化数据格式,它以标签(tag)的形式描述数据,易于人类阅读,同时也便于机器解析。XML支持自定义标签,可以表达复杂的...

    java转换xml、list、map和json

    "java转换xml、list、map和json" ...本文主要讲述了Java中将xml、list、map和json之间的转换的相关知识点,包括xml和map之间的转换、xml和list之间的转换、xml和json之间的转换、map和json之间的转换等。

    xml & json 转换工具

    在XML到JSON转换过程中,XStream可能首先用于将XML数据转换为Java对象,然后这些对象再由Json-lib处理成JSON格式。 XML到JSON的转换通常包括以下步骤: - 解析XML文档,将其转换为DOM(Document Object Model)树。...

    java实现xml转json

    2. **XML到JSON转换**:有了Jackson库,你可以创建一个简单的Java类来实现XML到JSON的转换。以下是一个示例: ```java import com.fasterxml.jackson.databind.ObjectMapper; import ...

    Java XML转JSON

    - XML到JSON转换时,XML的属性会转换为JSON对象的键值对,而元素会转换为JSON数组或对象。 - JSON不支持命名空间,因此XML中的命名空间在转换时会被忽略或特殊处理。 - 转换过程中可能遇到的数据类型不匹配问题,...

    xml/Json转换工具类

    在Java项目中,我们需要引入处理XML和JSON转换的库。通常,我们使用如Jackson或org.json这样的库来完成这些转换。例如,Jackson库提供了`com.fasterxml.jackson.dataformat:jackson-dataformat-xml`和`...

    Android使用XML和JSON两种数据格式通过网络通信实现资讯客户端案例

    本案例主要探讨了如何利用XML和JSON这两种数据格式进行网络通信,从而实现资讯的获取和展示。接下来,我们将深入讨论这两个数据格式以及它们在Android中的应用。 XML(eXtensible Markup Language)是一种结构化...

    xStream转换xml和json源码

    本篇文章将深入探讨xStream如何实现Java对象与XML和JSON的相互转换,并提供详细的代码示例。 ### 1. xStream的安装与引入 首先,你需要在项目中添加xStream的依赖。如果你使用的是Maven,可以在pom.xml文件中添加...

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

    在IT行业中,XML(Extensible Markup Language)和JSON(JavaScript Object Notation)是两种广泛用于数据交换的格式。XML以其丰富的结构化特性适用于复杂的文档表示,而JSON则因其简洁、易于阅读和处理的特性,成为...

    将string类型xml字符串转为json字符串

    在IT行业中,数据交换和存储经常需要在不同的格式之间转换,XML(可扩展标记语言)和JSON(JavaScript对象表示法)就是两种常见的数据格式。XML以其结构化和语义化的特性,广泛应用于Web服务和数据交换,而JSON因其...

    xml格式数据和json相互转换的源码

    上述代码片段展示了在不同编程语言中进行XML与JSON转换的基本方法。在实际项目中,可能需要处理更复杂的XML结构,包括命名空间、处理指令、注释等,这时可能需要更复杂的解析器或库来协助。记得在处理转换时,要确保...

    java json xml转换

    总之,Java提供了多种方式实现JSON和XML的相互转换,开发者可以根据项目需求选择合适的库和方法。理解这些转换过程对于提升开发效率和保证数据交换的准确性至关重要。在实际项目中,务必根据具体场景选择最适合的...

    Xml和Json互转工具类

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

    java或android xml转json所需jar包

    在Java和Android开发中,XML和JSON是两种常见的数据交换格式。XML(eXtensible Markup Language)是一种结构化数据格式,广泛用于Web服务和数据存储。而JSON(JavaScript Object Notation)则因其轻量级、易读写的...

Global site tag (gtag.js) - Google Analytics