`
a515010475
  • 浏览: 26772 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java xml转json

    博客分类:
  • JSON
阅读更多
要用到一个功能是把xml格式文件转成json格式的.网上找了很多都不太慢意就自已写了一个
不多说,贴原码:
public class Utilities {
/**
  * 转换一个xml格式的字符串到json格式
  * @param xml xml格式的字符串
  * @return 成功返回json 格式的字符串;失败反回null
  */
@SuppressWarnings("unchecked")
public String xml2JSON(String xml){
  JSONObject obj = new JSONObject();
  try {
   InputStream is = new ByteArrayInputStream(xml.getBytes("utf-8"));
   SAXBuilder sb = new SAXBuilder();
   Document doc = sb.build(is);
   Element root = doc.getRootElement();
   obj.put(root.getName(), iterateElement(root));
   return obj.toString();
  } catch (Exception e){
   e.printStackTrace();
   return null;
  }
}

/**
  * 转换一个xml格式的字符串到json格式
  * @param file  java.io.File实例是一个有效的xml文件
  * @return 成功反回json 格式的字符串;失败反回null
  */
@SuppressWarnings("unchecked")
public String xml2JSON(File file){
  JSONObject obj = new JSONObject();
  try {
   SAXBuilder sb = new SAXBuilder();
   Document doc = sb.build(file);
   Element root = doc.getRootElement();
   obj.put(root.getName(), iterateElement(root));
   return obj.toString();
  } catch (Exception e){
   e.printStackTrace();
   return null;
  }
}

/**
  * 一个迭代方法
  * @param element: org.jdom.Element
  * @return java.util.Map 实例
  */
@SuppressWarnings("unchecked")
Map iterateElement(Element element){
  List jiedian = element.getChildren();
  Element et = null;
  Map obj = new HashMap();
  List list = null;
  for (int i = 0; i < jiedian.size(); i++) {
   list = new LinkedList();
   et = (Element) jiedian.get(i);
   if(et.getTextTrim().equals("")){
    if(et.getChildren().size()==0)
     continue;
    if(obj.containsKey(et.getName())){
     list = (List) obj.get(et.getName());
    }
    list.add(iterateElement(et));
    obj.put(et.getName(),list);
   }else{
    if(obj.containsKey(et.getName())){
     list = (List) obj.get(et.getName());
    }
    list.add(et.getTextTrim());
    obj.put(et.getName() ,list);
   }
  }
  return obj;
}

//测试
public static void main(String[] args) {
  System.out.println(new Utilities().xml2JSON(
    "<MapSet>"+
      "<MapGroup id='Sheboygan'>"+
        "<Map>"+
          "<Type>MapGuideddddddd</Type>"+
          "<SingleTile>true</SingleTile>"+
          "<Extension>"+
            "<ResourceId>ddd</ResourceId>"+
          "</Extension>"+
        "</Map>"+
        "<Map>"+
          "<Type>ccc</Type>"+
          "<SingleTile>ggg</SingleTile>"+
          "<Extension>"+
            "<ResourceId>aaa</ResourceId>"+
          "</Extension>"+
        "</Map>"+
        "<Extension />"+
      "</MapGroup>"+
      "<ddd>"+
      "33333333"+
      "</ddd>"+
      "<ddd>"+
      "444"+
      "</ddd>"+
    "</MapSet>"));
}
}

http://hi.baidu.com/930116173/item/a233db0f40f326f0f45ba6dd
分享到:
评论

相关推荐

    Java XML转JSON

    Java社区中有多个库提供了XML到JSON的转换功能,例如Jackson、Gson、org.json等。这里我们以Jackson库为例,因为它既支持XML到JSON的转换,也支持JSON到XML的转换,并且API设计友好,使用起来非常方便。 1. 引入...

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

    在Java开发中,XML(可扩展标记语言)和JSON(JavaScript Object Notation)是两种常见的数据交换格式。它们各自有着不同的特性和应用场景,但有时我们需要将XML数据转换为JSON,或者将JSON数据转换为XML,以满足...

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

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

    TestXml2Json.java_Javaxml转json_

    此工具类使用dom4j对xml文件解析成json对象

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

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

    XML转JSON工具类

    XML转JSON工具类,支持多层XML嵌套解析转JSON,采用dom4j解析转JSON格式,多次线上环境使用

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

    xml/Json转换工具类

    例如,Jackson库提供了`com.fasterxml.jackson.dataformat:jackson-dataformat-xml`和`com.fasterxml.jackson.core:jackson-databind`两个模块,用于XML与JSON的互转。将这些依赖添加到你的`pom.xml`文件中,可以...

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

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

    xml转json包与教程

    这个压缩包“xml转json包与教程”提供了相关的类库和教程,帮助开发者完成这一任务。下面将详细介绍这个过程中的关键知识点: 1. **XML解析器**:在Java中,处理XML数据通常使用DOM(Document Object Model)、SAX...

    java实现xml转json

    首先,Java中没有内置的库直接支持XML到JSON的转换,但有许多第三方库可以帮助我们完成这个任务,如Jackson、Gson和org.json等。这里我们将以Jackson库为例,因为它是Java中最流行的JSON处理库之一,它提供了XML到...

    xml转json所需要的jar包

    首先,你可以使用`javax.xml.bind`包中的`javax.xml.bind.annotation.XmlRootElement`和`javax.xml.bind.JAXBContext`将XML转换为Java对象,然后再使用Gson将Java对象转换为JSON。 4. **Apache CXF库**:Apache CXF...

    java或android xml转json所需jar包

    标题提到的"java或android xml转json所需jar包"就是为了解决这种需求。 在描述中提到的jar包,通常是指一个包含预编译Java类的归档文件,可以便捷地引入到项目中作为第三方库使用。这种jar包很可能包含了一个或者多...

    xml转json json转xml java工程源码

    java工程源码实现xml和json的互转,工程已包含所jar包:commons-beanutils-1.7.0.jar、commons-collections-3.1.jar、commons-lang-2.5.jar、commons-logging.jar、ezmorph-1.0.3.jar、json-lib-2.4-jdk15.jar、xom-...

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

    XML(eXtensible Markup Language)和JSON(JavaScript Object Notation)是两种广泛用于数据交换的格式。XML是一种结构化标记语言,适用于描述复杂的数据结构,而JSON则更简洁,通常用于轻量级的Web服务和浏览器...

    Android中xml转json

    Android SDK本身并不直接提供XML到JSON的转换功能,但可以利用Java的标准库如`javax.xml.parsers.DocumentBuilderFactory`解析XML,然后使用`org.json`库(Android SDK自带)将解析后的数据转换为JSON。以下是基本...

    java xml json 相互转换

    描述中提到的jar包可能包含如JAXB(Java Architecture for XML Binding)、Jackson、Gson或org.json等库的功能,这些库允许开发者在Java中方便地进行XML与JSON的转换。 1. JAXB:Java标准API,用于在Java对象和XML...

    java实现xmlToJson

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

    xml 转 jsonObject

    XML(Extensible Markup Language)和JSON(JavaScript ...这个过程涉及到XML和JSON的互转、文件I/O以及压缩文件的处理,这些都是Java开发中常见的技能。理解并熟练掌握这些将有助于你处理各种数据交换和文件处理任务。

Global site tag (gtag.js) - Google Analytics