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,在这过程中有时嵌 ...
随机推荐
- (转)MyEclipse中使用git
转:https://www.jianshu.com/p/92ee5c99d3a8 Myeclipse老版本可能需要安装一个插件,高版本中已经安装好了. 连接github 当然我们之前已经有仓库了,我们 ...
- appium 链接真机运行时报错
今天用appium链接真机时,碰到的第一个问题:Attempt to re-install io.appium.settings without first uninstalling.(这是日志中显示 ...
- #define学习
C语言中数据有常量和变量,其中定义常量主要有两种方法,这里主要学习#define定义常量的方法. 1.#define定义数字宏常量 例子如下: 1 2 3 4 5 6 7 8 9 10 #includ ...
- python 使用yaml模块
python:yaml模块一.yaml文件介绍YAML是一种简洁的非标记语言.其以数据为中心,使用空白,缩进,分行组织数据,从而使得表示更加简洁.1. yaml文件规则基本规则: 大小写敏感 ...
- pandas中的quantile函数
https://blog.csdn.net/weixin_38617311/article/details/87893168 data.price.quantile([0.25,0.5,0.75]) ...
- vue事件修饰符(once:prev:stop)
vue事件修饰符(once:prev:stop) stop修饰符 效果如下: 当你鼠标在这个div里的时候,x与y的值:会随着鼠标的变化而变化.但是当鼠标放在stopMoving的时候,x与y的值是 ...
- testNG官方文档翻译-5 测试方法,测试类和测试组
5.1 - 测试方法 测试方法是被 @Test注解的方法.这些方法的返回值会被忽略,除非在testng.xml中将allow-return-values设置为true. <suite allow ...
- export export-default import 使用场景
export export-default import 使用场景:https://blog.csdn.net/weixin_36222137/article/details/77453774
- Javascript连续赋值
Javascript对象属于引用类型,将对象赋值给变量相当于将对象地址赋值给变量 let a = {n: 1}; let b = a; a.x = a = {n: 2}; //运算符的优先级 cons ...
- Spring整合Hibernate报错:annotatedClasses is not writable or has an invalid setter method
Spring 整合Hibernate时报错: org.springframework.beans.factory.BeanCreationException: Error creating bean ...