使用的 第三方的 jar包 为 dom4j,json 包使用的是 fastjson
XML 转 Map
public static Map commonXmlToMap(String xml) { Map<String, Object> map = new HashMap<String, Object>(); try { Document doc = DocumentHelper.parseText(xml); if (doc == null) return map; Element root = doc.getRootElement(); for (Iterator iterator = root.elementIterator(); iterator.hasNext();) { Element e = (Element) iterator.next(); List list = e.elements(); if (list.size() > 0) { map.put(e.getName(), Dom2Map(e)); } else map.put(e.getName(), e.getText()); } } catch (Exception e) { try { throw new Exception(); } catch (Exception e1) { e1.printStackTrace(); } } return map; } public static Map Dom2Map(Element e) throws Exception {Map map = new HashMap(); List list = e.elements(); if(list.size() > 0){ for (int i = 0;i < list.size(); i++) { Element iter = (Element) list.get(i); List mapList = new ArrayList(); if(iter.elements().size() > 0){ Map m = Dom2Map(iter); if(map.get(iter.getName()) != null){ Object obj = map.get(iter.getName()); if(!obj.getClass().getName().equals("java.util.ArrayList")){ mapList = new ArrayList(); mapList.add(obj); mapList.add(m); } if(obj.getClass().getName().equals("java.util.ArrayList")){ mapList = (List) obj; mapList.add(m); } map.put(iter.getName(), mapList); }else map.put(iter.getName(), m); } else{ if(map.get(iter.getName()) != null){ Object obj = map.get(iter.getName()); if(!obj.getClass().getName().equals("java.util.ArrayList")){ mapList = new ArrayList(); mapList.add(obj); mapList.add(iter.getText()); } if(obj.getClass().getName().equals("java.util.ArrayList")){ mapList = (List) obj; mapList.add(iter.getText()); } map.put(iter.getName(), mapList); }else map.put(iter.getName(), iter.getText()); } } }else map.put(e.getName(), e.getText()); return map; }
Map 转 XML
public static String toXML(Map _obj,Object key){ StringBuffer xml = new StringBuffer(1024); xml.append( "<").append(key).append(">\n"); xml.append(toXML(_obj)); xml.append( "</").append(key).append(">"); return xml.toString(); } private static String toXML(Map _obj) { StringBuffer sb = new StringBuffer(); if (_obj != null) { Set keySet = _obj.keySet(); for (Iterator it = keySet.iterator(); it.hasNext();) { Object key = it.next(); Object value = _obj.get(key); if(value instanceof Map){ sb.append(toXMLMap((Map)value,key)); } else if(value instanceof Collection){ sb.append(toXMLCollection((Collection)value,key)); } else{ sb.append(toXMLOtherObject(PMSUtil.isNull(value),key)); } } } return sb.toString(); } private static String toXMLCollection(Collection _list,Object key) { StringBuffer sb = new StringBuffer(); if (_list != null) { sb.append("<").append(key).append("LIST>").append("\n"); for (Iterator it = _list.iterator(); it.hasNext();) { sb.append("<").append(key).append(">").append("\n"); sb.append(toXML((Map)it.next())); sb.append("</").append(key).append(">").append("\n"); } sb.append("</").append(key).append("LIST>").append("\n "); } return sb.toString(); } private static String toXMLMap(Map _map,Object node) { StringBuffer sb = new StringBuffer(); if (_map != null) { sb.append("<").append(node).append(">").append("\n"); sb.append(toXML(_map)); sb.append("</").append(node).append(">").append("\n"); } return sb.toString(); } private static String toXMLOtherObject(Object _obj, Object key) { StringBuffer sb = new StringBuffer(); if (_obj != null) { sb.append("<").append(key).append(">"); sb.append(_obj.toString()); sb.append("</").append(key).append("> ").append("\n "); } return sb.toString(); } public static void main(String[] args) { MapToXmlString ma=new MapToXmlString(); Map map = new HashMap(); map.put("code", "0"); map.put("msg", "success"); System.out.print(ma.toXML(map,"rest")); }
Map 转 Json
String str = "{\"code\":\"0\",\"msg\":\"success\"}"; public static Map jasonToMap(String jason) { return JSON.parseObject(jason, Map.class); }
修改 Json 的值
Map<String,String> value = JSON.parseObject(json,Map.class); value.put("zzmm","newValue");//改变zzmm的值 JSON.toJSONString(value);//重新转成json字符串,{“name”:"张三","age":"20","xb":“男”,"zzmm":"newValue"}
相关推荐
"java转换xml、list、map和json" ...本文主要讲述了Java中将xml、list、map和json之间的转换的相关知识点,包括xml和map之间的转换、xml和list之间的转换、xml和json之间的转换、map和json之间的转换等。
在Java编程中,将对象转换成JSON(JavaScript Object Notation)格式是常见的需求,尤其是在与前端JavaScript进行数据交互时。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。本篇...
xml与map转换 这个应用的情况并不多见,一般都在两个系统间沟通的时候会有xml和json的相互转换。因为map和json是天生可相互转换的,所以这里只有xml能和map进行转换,那json就不是问题了。
1. JSON转换: - JSON库:在Java中,常用的JSON库有Gson、Jackson、org.json和json-lib等。在这个例子中,使用的是json-lib,它需要依赖一些特定的JAR包,如commons-beanutils、commons-collections、commons-lang...
- json-lib库是进行JSON与XML转换常用的库,依赖的jar包包括`json-lib-2.3-jdk15.jar`等。 - 其他依赖如`commons-beanutils`、`commons-collections`、`commons-lang`、`commons-logging`和`xom`等,都是为了支持...
相反,将JSON转换为XML的过程则相反: 1. 解析JSON:使用`ObjectMapper`的`readValue()`方法,将JSON字符串解析为Java对象。 2. 构建XML:可以使用`com.fasterxml.jackson.dataformat.xml.XmlMapper`,这是一个专门...
通过fastjson实现了JavaBean,list,MAP,list等格式与json格式之间的转换,已经附带fastjson的包,包的版本为fastjson-1.1.36.jar
json格式化工具,支持json格式化,xml转换为json,map类型转换为json等。
Java在软件开发中经常涉及到数据格式的转换,如XML、List、Map以及JSON之间的相互转换。这些转换在处理数据交换、API接口或者序列化时尤为关键。以下将详细讲解如何在Java中进行这些转换。 首先,JSON(JavaScript ...
5. **Map/List到JSON转换**: - `JSONSerializer.toJson()`方法将Java对象转换为JSON字符串。对于Map,它会生成一个JSON对象;对于List,它会生成一个JSON数组。 - `XMLSerializer`类允许将JSON对象转换回XML,这...
虽然主要针对XML,但有时在处理JSON数据时,可能需要与XML进行交互,例如将JSON转换为XML或者反之。 7. **ezmorph-1.0.6.jar.zip**:Ezmorph库提供了对象转换的功能,它可以将一个对象转换成另一种类型。在JSON处理...
本文将深入探讨Jackson作为JSON转换工具的关键知识点,并基于提供的博文链接进行补充。 1. **Jackson库介绍** Jackson是一个开源项目,其核心库为`com.fasterxml.jackson.core`,包括`jackson-databind`、`jackson...
2. 将JSON转换为Java对象:使用`JSONObject.toBean(jsonObject)`,可以将JSON对象转换为对应的Java类实例。 3. JSON与XML之间的转换:`XML.toJSONObject(xmlString)`可以将XML字符串转换为JSON对象,而`jsonObject....
接下来,我们将学习如何读取JSON文件并转换为Map。首先,创建一个Java类,例如`JsonToMapConverter`,然后定义一个方法来完成这个任务: ```java import com.fasterxml.jackson.databind.ObjectMapper; import java...
总的来说,Map转JSON的过程涉及选择合适的JSON库,导入所需的类,然后使用提供的API将Map对象转换为JSON字符串。在选择库时,应考虑项目规模、性能需求以及团队对库的熟悉程度。对于初学者来说,Gson通常是一个不错...
JSON-lib是一个用于Java平台的强大且灵活的库,它可以实现Java对象与JSON、XML格式数据之间的互相转换。对于那些希望在Java应用程序中轻松处理JSON或XML数据的开发者来说,这是一个非常有用的工具。 #### 二、准备...
HiJson支持的功能包括:格式化JSON,XML转JSON,MAP转JSON,格式化XML,节点查找及文本查找等,免费,强大! Json(JavaScript Object Notation) 是一种轻量级的数据交换格式。它使得人们很容易的进行阅读和编写。...
2. **XML转JSON**:除了基本的JSON格式化功能,iJson还支持XML数据转换成JSON格式。这种转换对于那些需要在XML和JSON之间切换的开发者来说非常实用,因为这两种格式在不同的场景下各有优势。 3. **MAP转JSON**:在...
然而,根据实际需求,有时需要将JSON转换为XML,或者反之。"json2XMLjar.rar"这个压缩包就是为了实现这种转换提供所需的Java库。 首先,我们来看一下压缩包中包含的几个关键库: 1. **commons-collections-3.1.jar...
Map和Json都是广泛使用的数据格式,但它们有着不同的应用场景。Map是许多编程语言(如Java、Python等)中的一个内置数据类型,用于存储键值对,而Json则是一种轻量级的数据交换格式,常用于Web服务的数据传输。本...