JsonUtil工具类
- package comm;
 - import java.text.SimpleDateFormat;
 - import java.util.ArrayList;
 - import java.util.Collection;
 - import java.util.Date;
 - import java.util.HashMap;
 - import java.util.Iterator;
 - import java.util.List;
 - import java.util.Map;
 - import net.sf.ezmorph.MorpherRegistry;
 - import net.sf.ezmorph.object.DateMorpher;
 - import net.sf.json.JSONArray;
 - import net.sf.json.JSONObject;
 - import net.sf.json.JsonConfig;
 - import net.sf.json.processors.JsonValueProcessor;
 - import net.sf.json.util.JSONUtils;
 - import net.sf.json.xml.XMLSerializer;
 - public class JsonUtil {
 - /**
 - * 设置日期转换格式
 - */
 - static {
 - //注册器
 - MorpherRegistry mr = JSONUtils.getMorpherRegistry();
 - //可转换的日期格式,即Json串中可以出现以下格式的日期与时间
 - DateMorpher dm = new DateMorpher(new String[] { Util.YYYY_MM_DD,
 - Util.YYYY_MM_DD_HH_MM_ss, Util.HH_MM_ss, Util.YYYYMMDD,
 - Util.YYYYMMDDHHMMSS, Util.HHMMss });
 - mr.registerMorpher(dm);
 - }
 - /**
 - * 从json串转换成实体对象
 - * @param jsonObjStr e.g. {'name':'get','dateAttr':'2009-11-12'}
 - * @param clazz Person.class
 - * @return
 - */
 - public static Object getDtoFromJsonObjStr(String jsonObjStr, Class clazz) {
 - return JSONObject.toBean(JSONObject.fromObject(jsonObjStr), clazz);
 - }
 - /**
 - * 从json串转换成实体对象,并且实体集合属性存有另外实体Bean
 - * @param jsonObjStr e.g. {'data':[{'name':'get'},{'name':'set'}]}
 - * @param clazz e.g. MyBean.class
 - * @param classMap e.g. classMap.put("data", Person.class)
 - * @return Object
 - */
 - public static Object getDtoFromJsonObjStr(String jsonObjStr, Class clazz, Map classMap) {
 - return JSONObject.toBean(JSONObject.fromObject(jsonObjStr), clazz, classMap);
 - }
 - /**
 - * 把一个json数组串转换成普通数组
 - * @param jsonArrStr e.g. ['get',1,true,null]
 - * @return Object[]
 - */
 - public static Object[] getArrFromJsonArrStr(String jsonArrStr) {
 - return JSONArray.fromObject(jsonArrStr).toArray();
 - }
 - /**
 - * 把一个json数组串转换成实体数组
 - * @param jsonArrStr e.g. [{'name':'get'},{'name':'set'}]
 - * @param clazz e.g. Person.class
 - * @return Object[]
 - */
 - public static Object[] getDtoArrFromJsonArrStr(String jsonArrStr, Class clazz) {
 - JSONArray jsonArr = JSONArray.fromObject(jsonArrStr);
 - Object[] objArr = new Object[jsonArr.size()];
 - for (int i = 0; i < jsonArr.size(); i++) {
 - objArr[i] = JSONObject.toBean(jsonArr.getJSONObject(i), clazz);
 - }
 - return objArr;
 - }
 - /**
 - * 把一个json数组串转换成实体数组,且数组元素的属性含有另外实例Bean
 - * @param jsonArrStr e.g. [{'data':[{'name':'get'}]},{'data':[{'name':'set'}]}]
 - * @param clazz e.g. MyBean.class
 - * @param classMap e.g. classMap.put("data", Person.class)
 - * @return Object[]
 - */
 - public static Object[] getDtoArrFromJsonArrStr(String jsonArrStr, Class clazz,
 - Map classMap) {
 - JSONArray array = JSONArray.fromObject(jsonArrStr);
 - Object[] obj = new Object[array.size()];
 - for (int i = 0; i < array.size(); i++) {
 - JSONObject jsonObject = array.getJSONObject(i);
 - obj[i] = JSONObject.toBean(jsonObject, clazz, classMap);
 - }
 - return obj;
 - }
 - /**
 - * 把一个json数组串转换成存放普通类型元素的集合
 - * @param jsonArrStr e.g. ['get',1,true,null]
 - * @return List
 - */
 - public static List getListFromJsonArrStr(String jsonArrStr) {
 - JSONArray jsonArr = JSONArray.fromObject(jsonArrStr);
 - List list = new ArrayList();
 - for (int i = 0; i < jsonArr.size(); i++) {
 - list.add(jsonArr.get(i));
 - }
 - return list;
 - }
 - /**
 - * 把一个json数组串转换成集合,且集合里存放的为实例Bean
 - * @param jsonArrStr e.g. [{'name':'get'},{'name':'set'}]
 - * @param clazz
 - * @return List
 - */
 - public static List getListFromJsonArrStr(String jsonArrStr, Class clazz) {
 - JSONArray jsonArr = JSONArray.fromObject(jsonArrStr);
 - List list = new ArrayList();
 - for (int i = 0; i < jsonArr.size(); i++) {
 - list.add(JSONObject.toBean(jsonArr.getJSONObject(i), clazz));
 - }
 - return list;
 - }
 - /**
 - * 把一个json数组串转换成集合,且集合里的对象的属性含有另外实例Bean
 - * @param jsonArrStr e.g. [{'data':[{'name':'get'}]},{'data':[{'name':'set'}]}]
 - * @param clazz e.g. MyBean.class
 - * @param classMap e.g. classMap.put("data", Person.class)
 - * @return List
 - */
 - public static List getListFromJsonArrStr(String jsonArrStr, Class clazz, Map classMap) {
 - JSONArray jsonArr = JSONArray.fromObject(jsonArrStr);
 - List list = new ArrayList();
 - for (int i = 0; i < jsonArr.size(); i++) {
 - list.add(JSONObject.toBean(jsonArr.getJSONObject(i), clazz, classMap));
 - }
 - return list;
 - }
 - /**
 - * 把json对象串转换成map对象
 - * @param jsonObjStr e.g. {'name':'get','int':1,'double',1.1,'null':null}
 - * @return Map
 - */
 - public static Map getMapFromJsonObjStr(String jsonObjStr) {
 - JSONObject jsonObject = JSONObject.fromObject(jsonObjStr);
 - Map map = new HashMap();
 - for (Iterator iter = jsonObject.keys(); iter.hasNext();) {
 - String key = (String) iter.next();
 - map.put(key, jsonObject.get(key));
 - }
 - return map;
 - }
 - /**
 - * 把json对象串转换成map对象,且map对象里存放的为其他实体Bean
 - * @param jsonObjStr e.g. {'data1':{'name':'get'},'data2':{'name':'set'}}
 - * @param clazz e.g. Person.class
 - * @return Map
 - */
 - public static Map getMapFromJsonObjStr(String jsonObjStr, Class clazz) {
 - JSONObject jsonObject = JSONObject.fromObject(jsonObjStr);
 - Map map = new HashMap();
 - for (Iterator iter = jsonObject.keys(); iter.hasNext();) {
 - String key = (String) iter.next();
 - map.put(key, JSONObject.toBean(jsonObject.getJSONObject(key), clazz));
 - }
 - return map;
 - }
 - /**
 - * 把json对象串转换成map对象,且map对象里存放的其他实体Bean还含有另外实体Bean
 - * @param jsonObjStr e.g. {'mybean':{'data':[{'name':'get'}]}}
 - * @param clazz e.g. MyBean.class
 - * @param classMap e.g. classMap.put("data", Person.class)
 - * @return Map
 - */
 - public static Map getMapFromJsonObjStr(String jsonObjStr, Class clazz, Map classMap) {
 - JSONObject jsonObject = JSONObject.fromObject(jsonObjStr);
 - Map map = new HashMap();
 - for (Iterator iter = jsonObject.keys(); iter.hasNext();) {
 - String key = (String) iter.next();
 - map.put(key, JSONObject
 - .toBean(jsonObject.getJSONObject(key), clazz, classMap));
 - }
 - return map;
 - }
 - /**
 - * 把实体Bean、Map对象、数组、列表集合转换成Json串
 - * @param obj
 - * @return
 - * @throws Exception String
 - */
 - public static String getJsonStr(Object obj) {
 - String jsonStr = null;
 - //Json配置
 - JsonConfig jsonCfg = new JsonConfig();
 - //注册日期处理器
 - jsonCfg.registerJsonValueProcessor(java.util.Date.class,
 - new JsonDateValueProcessor(Util.YYYY_MM_DD_HH_MM_ss));
 - if (obj == null) {
 - return "{}";
 - }
 - if (obj instanceof Collection || obj instanceof Object[]) {
 - jsonStr = JSONArray.fromObject(obj, jsonCfg).toString();
 - } else {
 - jsonStr = JSONObject.fromObject(obj, jsonCfg).toString();
 - }
 - return jsonStr;
 - }
 - /**
 - * 把json串、数组、集合(collection map)、实体Bean转换成XML
 - * XMLSerializer API:
 - * http://json-lib.sourceforge.net/apidocs/net/sf/json/xml/XMLSerializer.html
 - * 具体实例请参考:
 - * http://json-lib.sourceforge.net/xref-test/net/sf/json/xml/TestXMLSerializer_writes.html
 - * http://json-lib.sourceforge.net/xref-test/net/sf/json/xml/TestXMLSerializer_writes.html
 - * @param obj
 - * @return
 - * @throws Exception String
 - */
 - public static String getXMLFromObj(Object obj) {
 - XMLSerializer xmlSerial = new XMLSerializer();
 - //Json配置
 - JsonConfig jsonCfg = new JsonConfig();
 - //注册日期处理器
 - jsonCfg.registerJsonValueProcessor(java.util.Date.class,
 - new JsonDateValueProcessor(Util.YYYY_MM_DD_HH_MM_ss));
 - if ((String.class.isInstance(obj) && String.valueOf(obj).startsWith("["))
 - || obj.getClass().isArray() || Collection.class.isInstance(obj)) {
 - JSONArray jsonArr = JSONArray.fromObject(obj, jsonCfg);
 - return xmlSerial.write(jsonArr);
 - } else {
 - JSONObject jsonObj = JSONObject.fromObject(obj, jsonCfg);
 - return xmlSerial.write(jsonObj);
 - }
 - }
 - /**
 - * 从XML转json串
 - * @param xml
 - * @return String
 - */
 - public static String getJsonStrFromXML(String xml) {
 - XMLSerializer xmlSerial = new XMLSerializer();
 - return String.valueOf(xmlSerial.read(xml));
 - }
 - }
 - /**
 - * json日期值处理器实现
 - * (C) 2009-9-11, jzj
 - */
 - class JsonDateValueProcessor implements JsonValueProcessor {
 - private String format = Util.YYYY_MM_DD_HH_MM_ss;
 - public JsonDateValueProcessor() {
 - }
 - public JsonDateValueProcessor(String format) {
 - this.format = format;
 - }
 - public Object processArrayValue(Object value, JsonConfig jsonConfig) {
 - return process(value, jsonConfig);
 - }
 - public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) {
 - return process(value, jsonConfig);
 - }
 - private Object process(Object value, JsonConfig jsonConfig) {
 - if (value instanceof Date) {
 - String str = new SimpleDateFormat(format).format((Date) value);
 - return str;
 - }
 - return value == null ? null : value.toString();
 - }
 - public String getFormat() {
 - return format;
 - }
 - public void setFormat(String format) {
 - this.format = format;
 - }
 - }
 
JsonUtilTest
- package comm.test;
 - import java.text.SimpleDateFormat;
 - import java.util.ArrayList;
 - import java.util.Date;
 - import java.util.HashMap;
 - import java.util.Iterator;
 - import java.util.LinkedHashMap;
 - import java.util.LinkedHashSet;
 - import java.util.List;
 - import java.util.Map;
 - import java.util.Set;
 - import junit.framework.TestCase;
 - import comm.JsonUtil;
 - /**
 - * JsonUtil测试类
 - * (C) 2009-9-11, jzj
 - */
 - public class JsonUtilTest extends TestCase {
 - /**
 - * 从json串转换成实体对象,且实体中Date属性能正确转换
 - * void
 - */
 - public void testGetDtoFromJsonObjStr1() {
 - String json = "{'name':'get','dateAttr':'2009-11-12'}";
 - Person ps = (Person) JsonUtil.getDtoFromJsonObjStr(json, Person.class);
 - //print: get
 - System.out.println(ps.getName());
 - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
 - //print: 2009-11-12
 - System.out.println(sdf.format(ps.getDateAttr()));
 - }
 - /**
 - * 从json串转换成实体对象,并且实体集合属性存有另外实体Bean
 - * void
 - */
 - public void testGetDtoFromJsonObjStr3() {
 - String json = "{'data':[{'name':'get'},{'name':'set'}]}";
 - Map classMap = new HashMap();
 - classMap.put("data", Person.class);
 - MyBean myBean = (MyBean) JsonUtil.getDtoFromJsonObjStr(json, MyBean.class,
 - classMap);
 - //print: class comm.test.Person name =get
 - System.out.println(myBean.getData().get(0).getClass() + " name ="
 - + ((Person) myBean.getData().get(0)).getName());
 - //print: class comm.test.Person name =set
 - System.out.println(myBean.getData().get(1).getClass() + " name ="
 - + ((Person) myBean.getData().get(1)).getName());
 - }
 - /**
 - * 把一个json数组串转换成普通数组
 - * void
 - */
 - public void testGetArrFromJsonArrStr() {
 - String json = "['get',1,true,null]";
 - Object[] objArr = JsonUtil.getArrFromJsonArrStr(json);
 - for (int i = 0; i < objArr.length; i++) {
 - System.out.println(objArr[i].getClass() + " " + objArr[i]);
 - }
 - /* print:
 - class java.lang.String get
 - class java.lang.Integer 1
 - class java.lang.Boolean true
 - class net.sf.json.JSONNull null
 - */
 - }
 - /**
 - * 把一个json数组串转换成实体数组
 - * void
 - */
 - public void testGetDtoArrFromJsonArrStr1() {
 - String json = "[{'name':'get'},{'name':'set'}]";
 - Object[] objArr = JsonUtil.getDtoArrFromJsonArrStr(json, Person.class);
 - for (int i = 0; i < objArr.length; i++) {
 - System.out.println(objArr[i].getClass() + " name = "
 - + ((Person) objArr[i]).getName());
 - }
 - /* print:
 - class comm.test.Person name = get
 - class comm.test.Person name = set
 - */
 - }
 - /**
 - * 把一个json数组串转换成实体数组,且数组元素的属性含有另外实例Bean
 - * void
 - */
 - public void testGetDtoArrFromJsonArrStr2() {
 - String json = "[{'data':[{'name':'get'}]},{'data':[{'name':'set'}]}]";
 - Map classMap = new HashMap();
 - classMap.put("data", Person.class);
 - Object[] objArr = JsonUtil.getDtoArrFromJsonArrStr(json, MyBean.class, classMap);
 - for (int i = 0; i < objArr.length; i++) {
 - System.out.println(((MyBean) objArr[i]).getData().get(0).getClass()
 - + " name = "
 - + ((Person) ((MyBean) objArr[i]).getData().get(0)).getName());
 - }
 - /* print:
 - class comm.test.Person name = get
 - class comm.test.Person name = set
 - */
 - }
 - /**
 - * 把一个json数组串转换成存放普通类型元素的集合
 - * void
 - */
 - public void testGetListFromJsonArrStr1() {
 - String json = "['get',1,true,null]";
 - List list = JsonUtil.getListFromJsonArrStr(json);
 - for (int i = 0; i < list.size(); i++) {
 - System.out.println(list.get(i).getClass() + " " + list.get(i));
 - }
 - /* print:
 - class java.lang.String get
 - class java.lang.Integer 1
 - class java.lang.Boolean true
 - class net.sf.json.JSONNull null
 - */
 - }
 - /**
 - * 把一个json数组串转换成集合,且集合里存放的为实例Bean
 - * void
 - */
 - public void testGetListFromJsonArrStr2() {
 - String json = "[{'name':'get'},{'name':'set'}]";
 - List list = JsonUtil.getListFromJsonArrStr(json, Person.class);
 - for (int i = 0; i < list.size(); i++) {
 - System.out.println(list.get(i).getClass() + " name = "
 - + ((Person) list.get(i)).getName());
 - }
 - /* print:
 - class comm.test.Person name = get
 - class comm.test.Person name = set
 - */
 - }
 - /**
 - * 把一个json数组串转换成集合,且集合里的对象的属性含有另外实例Bean
 - * void
 - */
 - public void testGetListFromJsonArrStr3() {
 - String json = "[{'data':[{'name':'get'}]},{'data':[{'name':'set'}]}]";
 - Map classMap = new HashMap();
 - classMap.put("data", Person.class);
 - List list = JsonUtil.getListFromJsonArrStr(json, MyBean.class, classMap);
 - for (int i = 0; i < list.size(); i++) {
 - System.out.println(((MyBean) list.get(i)).getData().get(0).getClass()
 - + " name = "
 - + ((Person) ((MyBean) list.get(i)).getData().get(0)).getName());
 - }
 - /* print:
 - class comm.test.Person name = get
 - class comm.test.Person name = set
 - */
 - }
 - /**
 - * 把json对象串转换成map对象
 - * void
 - */
 - public void testGetMapFromJsonObjStr() {
 - String json = "{'name':'get','int':1,'double':1.1,'null':null}";
 - Map map = JsonUtil.getMapFromJsonObjStr(json);
 - for (Iterator iter = map.keySet().iterator(); iter.hasNext();) {
 - System.out.println(map.get(iter.next()).getClass());
 - }
 - /* print:
 - class java.lang.Double
 - class net.sf.json.JSONNull
 - class java.lang.Integer
 - class java.lang.String
 - */
 - }
 - /**
 - * 把json对象串转换成map对象,且map对象里存放的为其他实体Bean
 - * void
 - */
 - public void testGetMapFromJsonObjStr2() {
 - String json = "{'data1':{'name':'get'},'data2':{'name':'set'}}";
 - Map map = JsonUtil.getMapFromJsonObjStr(json, Person.class);
 - for (Iterator iter = map.keySet().iterator(); iter.hasNext();) {
 - String key = (String) iter.next();
 - System.out.println(map.get(key).getClass() + " name="
 - + ((Person) map.get(key)).getName());
 - }
 - /* print:
 - class comm.test.Person name=set
 - class comm.test.Person name=get
 - */
 - }
 - /**
 - * 把json对象串转换成map对象,且map对象里
 - * 存放的其他实体Bean还含有另外实体Bean
 - * void
 - */
 - public void testGetMapFromJsonObjStr3() {
 - String json = "{'mybean':{'data':[{'name':'get'}]}}";
 - Map classMap = new HashMap();
 - classMap.put("data", Person.class);
 - Map map = JsonUtil.getMapFromJsonObjStr(json, MyBean.class, classMap);
 - for (Iterator iter = map.keySet().iterator(); iter.hasNext();) {
 - String key = (String) iter.next();
 - Object o = ((MyBean) map.get(key)).getData().get(0);
 - System.out.println(o.getClass() + " name=" + ((Person) o).getName());
 - }
 - /* print:
 - class comm.test.Person name=get
 - */
 - }
 - /**
 - * 实体Bean转json串
 - * void
 - */
 - public void testgetJsonStr1() {
 - Person ps = new Person();
 - ps.setDateAttr(new Date());
 - ps.setName("get");
 - MyBean myBean = new MyBean();
 - List list = new ArrayList();
 - list.add(ps);
 - myBean.setData(list);
 - //print: {"data":[{"dateAttr":"2009-09-12 07:24:54","name":"get"}]}
 - System.out.println(JsonUtil.getJsonStr(myBean));
 - }
 - /**
 - * map转json串
 - * void
 - */
 - public void testgetJsonStr2() {
 - Person ps = new Person();
 - ps.setDateAttr(new Date());
 - ps.setName("get");
 - Map map = new LinkedHashMap();
 - map.put("person1", ps);
 - //print: {"person1":{"dateAttr":"2009-09-12 07:24:27","name":"get"}}
 - System.out.println(JsonUtil.getJsonStr(map));
 - }
 - /**
 - * 数组转json串
 - * void
 - */
 - public void testgetJsonStr3() {
 - Person ps = new Person();
 - ps.setDateAttr(new Date());
 - ps.setName("get");
 - Person[] personArr = new Person[1];
 - personArr[0] = ps;
 - //print: [{"dateAttr":"2009-09-12 07:23:54","name":"get"}]
 - System.out.println(JsonUtil.getJsonStr(personArr));
 - }
 - /**
 - * list转json串
 - * void
 - */
 - public void testgetJsonStr4() {
 - Person ps = new Person();
 - ps.setDateAttr(new Date());
 - ps.setName("get");
 - List list = new ArrayList();
 - list.add(ps);
 - //print: [{"dateAttr":"2009-09-12 07:22:49","name":"get"}]
 - System.out.println(JsonUtil.getJsonStr(list));
 - }
 - /**
 - * set转json串
 - * void
 - */
 - public void testgetJsonStr5() {
 - Person ps = new Person();
 - ps.setDateAttr(new Date());
 - ps.setName("get");
 - Set set = new LinkedHashSet();
 - set.add(ps);
 - //print: [{"dateAttr":"2009-09-12 07:22:16","name":"get"}]
 - System.out.println(JsonUtil.getJsonStr(set));
 - }
 - /**
 - * json对象串转XML
 - * void
 - */
 - public void testGetXMLFromObj1() {
 - System.out.println(JsonUtil
 - .getXMLFromObj("{/"name/":/"json/",/"bool/":true,/"int/":1}"));
 - /* print:
 - <?xml version="1.0" encoding="UTF-8"?>
 - <o>
 - <bool type="boolean">true</bool>
 - <int type="number">1</int>
 - <name type="string">json</name>
 - </o>
 - */
 - }
 - /**
 - * json数组串转XML
 - * void
 - */
 - public void testGetXMLFromObj2() {
 - System.out.println(JsonUtil.getXMLFromObj("[1,2,3]"));
 - /* print:
 - <?xml version="1.0" encoding="UTF-8"?>
 - <a>
 - <e type="number">1</e>
 - <e type="number">2</e>
 - <e type="number">3</e>
 - </a>
 - */
 - }
 - /**
 - * java数组转XML
 - * void
 - */
 - public void testGetXMLFromObj3() {
 - Person ps = new Person();
 - ps.setDateAttr(new Date());
 - ps.setName("get");
 - Person[] personArr = new Person[2];
 - personArr[0] = ps;
 - System.out.println(JsonUtil.getXMLFromObj(personArr));
 - /* print:
 - <?xml version="1.0" encoding="UTF-8"?>
 - <a>
 - <e class="object">
 - <dateAttr type="string">2009-09-12 06:58:55</dateAttr>
 - <name type="string">get</name>
 - </e>
 - </a>
 - */
 - }
 - /**
 - * list转XML
 - * void
 - */
 - public void testGetXMLFromObj4() {
 - Person ps = new Person();
 - ps.setDateAttr(new Date());
 - ps.setName("get");
 - List list = new ArrayList();
 - list.add(ps);
 - System.out.println(JsonUtil.getXMLFromObj(list));
 - /* print:
 - <?xml version="1.0" encoding="UTF-8"?>
 - <a>
 - <e class="object">
 - <dateAttr type="string">2009-09-12 07:02:31</dateAttr>
 - <name type="string">get</name>
 - </e>
 - </a>
 - */
 - }
 - /**
 - * set转XML
 - * void
 - */
 - public void testGetXMLFromObj5() {
 - Person ps = new Person();
 - ps.setDateAttr(new Date());
 - ps.setName("get");
 - Set set = new LinkedHashSet();
 - set.add(ps);
 - System.out.println(JsonUtil.getXMLFromObj(set));
 - /* print:
 - <?xml version="1.0" encoding="UTF-8"?>
 - <a>
 - <e class="object">
 - <dateAttr type="string">2009-09-12 07:04:38</dateAttr>
 - <name type="string">get</name>
 - </e>
 - </a>
 - */
 - }
 - /**
 - * map转XML
 - * void
 - */
 - public void testGetXMLFromObj6() {
 - Person ps = new Person();
 - ps.setDateAttr(new Date());
 - ps.setName("get");
 - Map map = new HashMap();
 - map.put("person1", ps);
 - System.out.println(JsonUtil.getXMLFromObj(map));
 - /* print:
 - <?xml version="1.0" encoding="UTF-8"?>
 - <o>
 - <person1 class="object">
 - <dateAttr type="string">2009-09-12 07:08:35</dateAttr>
 - <name type="string">get</name>
 - </person1>
 - </o>
 - */
 - }
 - /**
 - * 实体Bean转XML
 - * void
 - */
 - public void testGetXMLFromObj7() {
 - Person ps = new Person();
 - ps.setDateAttr(new Date());
 - ps.setName("get");
 - System.out.println(JsonUtil.getXMLFromObj(ps));
 - /* print:
 - <?xml version="1.0" encoding="UTF-8"?>
 - <o>
 - <dateAttr type="string">2009-09-12 07:13:02</dateAttr>
 - <name type="string">get</name>
 - </o>
 - */
 - }
 - /**
 - * 从XML对象串转json串
 - * void
 - */
 - public void testGetJsonStrFromXML1() {
 - String xml = "<o><dateAttr type='string'>2009-09-12 07:13:02</dateAttr>"
 - + "<name type='string'>get</name></o>";
 - //print: {"dateAttr":"2009-09-12 07:13:02","name":"get"}
 - System.out.println(JsonUtil.getJsonStrFromXML(xml));
 - }
 - /**
 - * 从XML数组串转json串
 - * void
 - */
 - public void testGetJsonStrFromXML2() {
 - String xml = "<a class='array'><e class='object'><dateAttr type='string'>2009-09-12 07:04:38</dateAttr>"
 - + "<name type='string'>get</name></e></a>";
 - //print: [{"dateAttr":"2009-09-12 07:04:38","name":"get"}]
 - System.out.println(JsonUtil.getJsonStrFromXML(xml));
 - }
 - }
 
JsonUtil工具类的更多相关文章
- 在JAVA中封装JSONUtil工具类及使用
		
在JAVA中用json-lib-2.3-jdk15.jar包中提供了JSONObject和JSONArray基类,用于JSON的序列化和反序列化的操作.但是我们更习惯将其进一步封装,达到更好的重用. ...
 - 利用Jackson封装常用JsonUtil工具类
		
在日常的项目开发中,接口与接口之间.前后端之间的数据传输一般都是使用JSON格式,那必然会封装一些常用的Json数据转化的工具类,本文讲解下如何利用Jackson封装高复用性的Json转换工具类. 转 ...
 - jsonUtil 工具类
		
package org.konghao.basic.util; import java.io.IOException; import java.io.StringWriter; import com. ...
 - redis缓存工具类
		
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis ...
 - springboot封装JsonUtil,CookieUtil工具类
		
springboot封装JsonUtil,CookieUtil工具类 yls 2019-9-23 JsonUtil public class JsonUtil { private static Obj ...
 - 构造Json对象串工具类
		
import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.Property ...
 - 用jackson封装的JSON工具类
		
package hjp.smart4j.framework.util; import com.fasterxml.jackson.databind.ObjectMapper; import org.s ...
 - Code片段 : .properties属性文件操作工具类 & JSON工具类
		
摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “贵专” — 泥瓦匠 一.java.util.Properties API & 案例 j ...
 - Json工具类,实现了反射将整个Object转换为Json对象的功能,支持Hibernate的延迟加
		
package com.aherp.framework.util; import java.lang.reflect.Array;import java.lang.reflect.Method;imp ...
 
随机推荐
- PE530 : GCD of Divisors
			
\[\begin{eqnarray*}ans&=&\sum_{i=1}^nf(i)\\&=&\sum_{i=1}^n\sum_{d|i}\gcd(d,\frac{i}{ ...
 - 你应该在开始API开发之前知道的事(上)(翻译)
			
这篇文章的源地址:http://dev.dota2.com/showthread.php?t=58317 由于文章内容较多,英语水平有限,准备尝试着以中英混搭的形式翻译,免得曲解一些不懂内容的意思.以 ...
 - PHP+MySQL+Easyui tree菜单从后台加载json数据(一)
			
实现功能:从数据库加载出所有的数据库名,相应的数据库加载对应的数据库表名 原理:(首先看一下参考手册的内容) 异步加载Tree tree 支持内置的异步加载模式,用户创建一个空的tree,然后定义一个 ...
 - JavaScript第一天
			
1.静态的网页技术和动态的网页技术 静态网页是相对于动态网页而言,是指没有后台数据库.不含程序和不可交互的网页.你编的是什么它显示的就是什么.不会有任何改变.静态网页相对更新起来比较麻烦,适用于一般更 ...
 - Servlet读取资源文件(文件的下载)
			
1. 文件名非中文: package ztq.servlet.study; import java.io.FileInputStream; import java.io.IOException; im ...
 - sun公司的jstl标签库
			
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
 - Java-开源工具类
			
一.集合 org.springframework.util.CollectionUtils: 二.字符串 com.google.common.base.Strings: org.apache.comm ...
 - 后台进程管理supervisor
			
一.安装 该工具是python的一个软件包,需要安装python及其python-setuptools 二.安装完后会在python的bin目录下找到对应的命令文件 三.安装supervisor为服务 ...
 - Redhat 一则关于路由及DNS配置的实例
			
安装了Redhat 7.2, 配置路由, 但发现路由重启之后,不能生效. 配置路由: touch /etc/sysconfig/static-router, 然后编辑路由信息如下. any defau ...
 - 论文笔记(1)——《Where's Wally?Precise User Discovery Attacks in Location Proximity Services》
			
Abstract: 位置相近服务在社交和移动网络的广泛使用是基于可用性和用户隐私的平衡,但引发了三角定位攻击的风险.文章系统化地讨论了此类攻击的防范,包括问题在不同临近模型下的形式化,针对不同模型的有 ...