JSONObject.fromObject需要的有额外的6个包,必不可少,一定要注意:

commons-beanutils-1.9.2.jar     

commons-collections-3.2.2.jar

commons-lang-2.6.jar

commons-logging-1.2.jar

ezmorph-1.0.6.jar

json-lib-2.4-jdk15.jar

package com.ekingwin.bas.xmljson.utils;

import net.sf.json.JSON;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JSONSerializer;
import net.sf.json.xml.XMLSerializer;

public class xmljson
{
public static String xmlToJson(String xmlContent)
{
if ((xmlContent == null) || ("".equals(xmlContent)))
{
return "";
}

xmlContent = xmlContent.replace("\r", "");
xmlContent = xmlContent.replace("\n", "");
xmlContent = xmlContent.replace("\t", "");
xmlContent = xmlContent.replace("  ", "");
xmlContent = xmlContent.replace("<ITEM>", " <ITEM>");
xmlContent = xmlContent.replace("xmlns", " xmlns");
xmlContent = xmlContent.replace("<e xmlns=\"http://byd.eai.sap\" class=\"object\">", " <e xmlns=\"http://byd.eai.sap\" class=\"object\">");
String jsonContent = "";
XMLSerializer xmlSerializernew = new XMLSerializer();
xmlSerializernew.setSkipNamespaces(true);
xmlSerializernew.setRemoveNamespacePrefixFromElements(true);
jsonContent = xmlSerializernew.read(xmlContent.toString()).toString();
jsonContent = jsonContent.replace("null", "\"\"").replace("[]", "\"\"");
return jsonContent;
}

public static String jsonToXml(String jsonContent)
{
String xmlContent = "";
XMLSerializer xmlSerializernew = new XMLSerializer();
xmlSerializernew.setTrimSpaces(true);
if ((jsonContent.startsWith("[")) && (jsonContent.endsWith("]")))
{
jsonContent =jsonContent.replaceAll(":\\s*(\\d+\\.\\d+)",":\"$1\"");
xmlContent = xmlSerializernew.write(JSONArray.fromObject(jsonContent));
xmlContent = xmlContent.replace("<e class=\"object\">", "<ITEM>");
xmlContent = xmlContent.replace("<e type=\"number\">", "<ITEM>");
xmlContent = xmlContent.replace("</e>", "</ITEM>");
xmlContent = xmlContent.replace("<o>", "");
xmlContent = xmlContent.replace("</o>", "");
xmlContent = xmlContent.replace(" class=\"object\"", "");
xmlContent = xmlContent.replace(" type=\"string\"", "");
xmlContent = xmlContent.replace(" class=\"array\"", "");
xmlContent = xmlContent.replace(" null=\"true\"", "");
xmlContent = xmlContent.replace(" type=\"number\"", "");
}
else {
jsonContent =jsonContent.replaceAll(":\\s*(\\d+\\.\\d+)",":\"$1\"");
xmlContent = xmlSerializernew.write(JSONSerializer.toJSON(jsonContent));
xmlContent = xmlContent.replace("<e class=\"object\">", "<ITEM>");
xmlContent = xmlContent.replace("<e type=\"number\">", "<ITEM>");
xmlContent = xmlContent.replace("</e>", "</ITEM>");
xmlContent = xmlContent.replace("<o>", "");
xmlContent = xmlContent.replace("</o>", "");
xmlContent = xmlContent.replace(" class=\"object\"", "");
xmlContent = xmlContent.replace(" type=\"string\"", "");
xmlContent = xmlContent.replace(" class=\"array\"", "");
xmlContent = xmlContent.replace(" null=\"true\"", "");
xmlContent = xmlContent.replace(" type=\"number\"", "");
}
return xmlContent;
}

public static void main(String[] args) {
String a = "{\"Request\": {\r\n" +
" \"head\": {\r\n" +
" \"BIZTRANSACTIONID\": \"qwertyuioplkjhgfd\",\r\n" +
" \"COUNT\": \"1\",\r\n" +
" \"CONSUMER\": \"ERP\",\r\n" +
" \"SRVLEVEL\": \"1\",\r\n" +
" \"ACCOUNT\": \"\",\r\n" +
" \"PASSWORD\": \"\"\r\n" +
"},\r\n" +
"\r\n" +
" \"List\": [{\r\n" +
" \"id\": 1.78978979,\r\n" +
" \"name\": 3546545646.23165778789,\r\n" +
" \"phone\": 12345678,\r\n" +
" \"address\": 66554.3689745,\r\n" +
" \"mail\": \"321@test.com\"\r\n" +
" }\r\n" +
" ]\r\n" +
"}\r\n" +
"}";
String b = "<Request><List><ITEM><address>66554.3689745</address><id>1.78978979</id><mail>321@test.com</mail><name>3546545646.23165778789</name><phone>12345678</phone></ITEM></List><head><ACCOUNT/><BIZTRANSACTIONID>qwertyuioplkjhgfd</BIZTRANSACTIONID><CONSUMER>ERP</CONSUMER><COUNT>1</COUNT><PASSWORD/><SRVLEVEL>1</SRVLEVEL></head></Request>\r\n" +
"";
System.out.println(jsonToXml(a));
System.out.println(xmlToJson(a));
}
}

java xmltojson jsontoxml的更多相关文章

  1. JsonHelper developed by using Newtonsoft.Json.NET, Deserialize to <T> object , XmlToJson/JsonToXml, QuoteName by using JToken Path.

    namespace TestConsoleApplication { using System; using System.Diagnostics; using System.Threading; u ...

  2. node.js实用小模块

    1.浮点数操作 npm install float 2.MD5加密类 npm install MD5 3.xml解析类 1 npm install elementtree 4.转换字符串大小写 1 n ...

  3. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  4. java中json转xml

    参考:http://heipark.iteye.com/blog/1394844 需要json-lib-2.1-jdk15.jar和xom-1.2.5.jar,maven pom.xml如下: xml ...

  5. json:JSONObject包的具体使用(JSONObject-lib包是一个beans,collections,maps,java arrays和xml和JSON互相转换的包)

    1.JSONObject介绍 JSONObject-lib包是一个beans,collections,maps,java arrays和xml和JSON互相转换的包. 2.下载jar包 http:// ...

  6. java中处理json各种各样转换方法

    JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互.本文将快速讲解 JSON 格式,并通过代码示例演示如 ...

  7. java下XML与JSON互相转换的Utils类

    原文:http://heipark.iteye.com/blog/1394844 需要json-lib-2.1-jdk15.jar和xom-1.2.5.jar,maven pom.xml如下: < ...

  8. Java xml和map,list格式的转换-摘抄

    import java.io.ByteArrayOutputStream; import java.util.ArrayList; import java.util.HashMap; import j ...

  9. JAVA 实现XML与JSON 相互转换

    原文地址https://blog.csdn.net/congcong68/article/details/39029907 在工作中,经常碰到XML转为JSON或者JSON转为XML,在这过程中有时嵌 ...

随机推荐

  1. ZROI week6

    ZROI week6 T1 用一个类似背包的东西记录答案. T2 好像直接用|操作即可. T3 瞎搞就完事了 T4 启发式合并,然而变量写错了,就没了... 总结 100 + 100 + 100 + ...

  2. SAS 读取数据文件

    每次读取数据时需要告诉SAS3件事:1:数据存在哪里?2:数据的形式3:创建的数据集的类型(永久/临时) 1 读取SAS数据集 DATA temp; /*temp 为创建的数据集名称*/ INFILE ...

  3. 左闭右开线段树 2019牛客多校(第七场)E_Find the median(点代表区间

    目录 题意 一种解析 AC_Code @(2019第七场牛客 E_Find the median 左闭右开线段树) 题意 链接:here 我理解的题意就是:初始序列为空,有\(n(400000)\)次 ...

  4. C#调PowerShell在SCVMM中创建虚拟机时,实时显示创建进度

    关于c#调用PowerShell来控制SCVMM,网上有很多例子,也比较简单,但创建虚拟机的过程,是一个很漫长的时间,所以一般来说,创建的时候都希望可以实时的显示当前虚拟机的创建进度.当时这个问题困扰 ...

  5. python selenium自动化测试报告

    先记录一下,后续继续更新. 首先:HTMLTestRunner的下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html 选中后单击右键,在弹出 ...

  6. java 京东登录

    package org.rx.service.media; import io.netty.channel.Channel; import io.netty.handler.codec.http.Ht ...

  7. STemWin5.22移植笔记【转】

    来自:http://www.openedv.com/posts/list/27697.htm STemWin5.22移植笔记 网上关于emwin的资料很少,我在移植的时候查了很多资料,对我一个感觉是好 ...

  8. (1.1)学习笔记之mysql体系结构(内存、进程、线程)

    关键词:mysql体系结构 参考:https://www.cnblogs.com/zhoubaojian/articles/7866292.html 一.mysql体系架构概述 1.mysql体系结构 ...

  9. Window/Linux + Vim + MingW 配置

    Windows: 首先安装Vim , MinGW,假设安装目录为D:\MinGW. 配置环境变量: LIBRARY_PATH=D:\MinGW\lib C_INCLUDE_PATH=D:\MinGW\ ...

  10. 【java】自定义排序

    使用Comparable接口 这里定义了一个类Node,有两个属性,id,age. 排序方法是,先根据id升序排,id一样,age降序排. 里面有一个compareTo方法.返回值有三个 1. < ...