zoukankan      html  css  js  c++  java
  • xml和JSON格式相互转换的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();
    }
    
    
  • 相关阅读:
    【3.1】学习C++之再逢const
    【8】学习C++之this指针
    【7】学习C++之类的构造函数
    【6】学习C++之类的实例化及访问
    【5】学习C++之类的概念
    【4】学习C++之内存管理
    【3】学习C++之const关键字的使用
    【2】学习C++之引用
    【C#第一天】数据相关
    【1】学习C++时,一些零散知识点01
  • 原文地址:https://www.cnblogs.com/zqyanywn/p/6377948.html
Copyright © 2011-2022 走看看