Java中xml2json,json2xml
2024-09-27 07:34:14
在JAVA中xml与json数据互相转换
package com.sgcc.platform.common.utils; import static java.lang.String.format; import java.util.Map; import org.json.JSONObject;
import org.json.XML; import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.xml.JacksonXmlModule;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import com.sgcc.platform.common.exceptions.ConvertException; /**
* json,xml互相转换
* @author libing
*
*/
public class JsonXmlUtil {
private static JacksonXmlModule module = new JacksonXmlModule();
private static ObjectMapper objectMapper = new ObjectMapper();
private static XmlMapper xmlMapper = new XmlMapper(module);
static{
//去掉xml顶部内容<?xml version="1.0" encoding="UTF-8" ?>
module.setDefaultUseWrapper(false);
} /**
* xml字符串转换成net.sf.json.JSONObject对象
* @param xmlStr
* @return
*/
public static JSONObject xml2jsonObj(String xmlStr){
JSONObject jsonObject = XML.toJSONObject(xmlStr);
return jsonObject;
} /**
* xml字符串转换成json字符串
* @param xmlStr
* @return
*/
public static String xml2jsonStr(String xmlStr){
JSONObject jsonObject = XML.toJSONObject(xmlStr);
return jsonObject.toString();
} /**
* json字符串转换成xml字符串
* @param jsonStr
* @return
*/
public static String json2xml(String jsonStr){
try {
JsonNode root = objectMapper.readTree(jsonStr);
String result = xmlMapper.writeValueAsString(root);
return result.replaceAll("</?ObjectNode>","");
} catch (Exception e) {
throw new ConvertException(format("incorrect JSON data:/n%s",jsonStr));
}
} /**
* map数据转换成xml字符串
* @param mapData
* @return
*/
public static String map2xml(Map<String,Object> mapData){
Object repinfoJsonObj = JSONObject.wrap(mapData);
String jsonStr=repinfoJsonObj.toString();
String result=json2xml(jsonStr);
return result;
} // public static void main(String[] args) throws Exception {
// String ss="{\"REPINFO\":{\"SITEDATA\":[{\"SITE_NAME\":\"有没 \",\"REMARK\":null,\"MEASCODE\":35,\"SITE_ID\":2},{\"SITE_NAME\":\"城\",\"REMARK\":null,\"MEASCODE\":35,\"SITE_ID\":3}]}}";
// System.out.println(json2xml(ss));
//
// }
}
最新文章
- SqlService过期的解决方案
- Oracle trunc()函数的用法
- 关闭dialog(lhgdialog)
- sql中对于case when...then...else...end的写法和理解
- MVC 多语言记录1 设置默认的ResourceType
- aspx网页相对布局
- GOOGLE影像地图
- django集成微博内容
- BZOJ 3110([Zjoi2013]K大数查询-区间第k大[段修改,在线]-树状数组套函数式线段树)
- android static达到Service与Activity于Handler沟通
- Masonry适配的简单使用
- Go语言教程5 if switch select
- NoFragment重大bug
- 第一把机械键盘 ikbc C-87
- 使用 nodeJs 开发微信公众号(获取access_token)
- spring BeanFactory VS FactoryBean
- Visual Basic 2017 操作Excel和word【1】持续更新……
- Swift 模型属性
- Ubuntu16.04 python import cv2
- Office2007打开文件提示“您尝试打开的文件xxx.xls的格式与文件扩展名指定的格式不一致”的解决办法