java xmltojson jsontoxml
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的更多相关文章
- 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 ...
- node.js实用小模块
1.浮点数操作 npm install float 2.MD5加密类 npm install MD5 3.xml解析类 1 npm install elementtree 4.转换字符串大小写 1 n ...
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- java中json转xml
参考:http://heipark.iteye.com/blog/1394844 需要json-lib-2.1-jdk15.jar和xom-1.2.5.jar,maven pom.xml如下: xml ...
- 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:// ...
- java中处理json各种各样转换方法
JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互.本文将快速讲解 JSON 格式,并通过代码示例演示如 ...
- java下XML与JSON互相转换的Utils类
原文:http://heipark.iteye.com/blog/1394844 需要json-lib-2.1-jdk15.jar和xom-1.2.5.jar,maven pom.xml如下: < ...
- Java xml和map,list格式的转换-摘抄
import java.io.ByteArrayOutputStream; import java.util.ArrayList; import java.util.HashMap; import j ...
- JAVA 实现XML与JSON 相互转换
原文地址https://blog.csdn.net/congcong68/article/details/39029907 在工作中,经常碰到XML转为JSON或者JSON转为XML,在这过程中有时嵌 ...
随机推荐
- 探索Redis设计与实现3:Redis内部数据结构详解——sds
本文转自互联网 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial ...
- Android开发时包名、签名、渠道和版本号的易坑点(转)
本文中总结一下 Android 开发中容易被忽视的一些注意事项吧: 一.谨慎选择包名 包名 (Package Name) 就相当于一款应用在户口本上登记的名字,是系统用来区分不同应用的字段.重复的包名 ...
- ARM 是什么
ARM Advanced RISC Machines. RISC 就是reduced instruction set computer 精简指令集计算机DSP digtal signal Proces ...
- FFMpeg视频解码初探
在视频解码前,先了解以下几个基本的概念: 编解码器(CODEC):能够进行视频和音频压缩(CO)与解压缩(DEC),是视频编解码的核心部分. 容器/多媒体文件(Container/File):没有了解 ...
- 52、saleforce 导入csv文件
Load Data Using the Custom Object Import Wizard 1. 2. 3. 4. 5. 6.然后就导入成功了
- Python sqlite3.ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings......
完整的错误信息如下: You must not use 8-bit bytestrings unless you use a text _factory that can interpret 8-bi ...
- (转)spring ioc原理(看完后大家可以自己写一个spring)
原文地址:https://blog.csdn.net/it_man/article/details/4402245 最近,买了本Spring入门书:spring In Action .大致浏览了下感觉 ...
- qcom_IMS_conference_call小结
1conference call建立 用QXDM抓qcom log: 1.拨号盘*#*#825364#*#* , 进入抓log UI 2.Connectivity-->USB Port ...
- android中的文件存储
Context类中提供的IO方法: FileOutputSream openFileOutput(String name, int mode):打开应用程序中的/data/data/<应用程序的 ...
- SpringBoot 应用程序启动过程探秘
概述 说到接触 SpringBoot 伊始,给我第一映像最深的是有两个关键元素: 对照上面的典型代码,这个两个元素分别是: @SpringBootApplication SpringApplicati ...