- packagecomm;
-
importjava.text.SimpleDateFormat;
-
importjava.util.ArrayList;
-
importjava.util.Collection;
-
importjava.util.Date;
-
importjava.util.HashMap;
-
importjava.util.Iterator;
-
importjava.util.List;
-
importjava.util.Map;
-
importnet.sf.ezmorph.MorpherRegistry;
-
importnet.sf.ezmorph.object.DateMorpher;
-
importnet.sf.json.JSONArray;
-
importnet.sf.json.JSONObject;
-
importnet.sf.json.JsonConfig;
-
importnet.sf.json.processors.JsonValueProcessor;
-
importnet.sf.json.util.JSONUtils;
-
importnet.sf.json.xml.XMLSerializer;
-
publicclassJsonUtil{
-
static{
- MorpherRegistrymr=JSONUtils.getMorpherRegistry();
-
DateMorpherdm=newDateMorpher(newString[]{Util.YYYY_MM_DD,
- Util.YYYY_MM_DD_HH_MM_ss,Util.HH_MM_ss,Util.YYYYMMDD,
- Util.YYYYMMDDHHMMSS,Util.HHMMss});
- mr.registerMorpher(dm);
- }
-
publicstaticObjectgetDtoFromJsonObjStr(StringjsonObjStr,Classclazz){
-
returnJSONObject.toBean(JSONObject.fromObject(jsonObjStr),clazz);
- }
-
publicstaticObjectgetDtoFromJsonObjStr(StringjsonObjStr,Classclazz,MapclassMap){
-
returnJSONObject.toBean(JSONObject.fromObject(jsonObjStr),clazz,classMap);
- }
-
publicstaticObject[]getArrFromJsonArrStr(StringjsonArrStr){
-
returnJSONArray.fromObject(jsonArrStr).toArray();
- }
-
publicstaticObject[]getDtoArrFromJsonArrStr(StringjsonArrStr,Classclazz){
- JSONArrayjsonArr=JSONArray.fromObject(jsonArrStr);
-
Object[]objArr=newObject[jsonArr.size()];
-
for(inti=0;i<jsonArr.size();i++){
- objArr[i]=JSONObject.toBean(jsonArr.getJSONObject(i),clazz);
- }
-
returnobjArr;
- }
-
publicstaticObject[]getDtoArrFromJsonArrStr(StringjsonArrStr,Classclazz,
- MapclassMap){
- JSONArrayarray=JSONArray.fromObject(jsonArrStr);
-
Object[]obj=newObject[array.size()];
-
for(inti=0;i<array.size();i++){
- JSONObjectjsonObject=array.getJSONObject(i);
- obj[i]=JSONObject.toBean(jsonObject,clazz,classMap);
- }
-
returnobj;
- }
-
publicstaticListgetListFromJsonArrStr(StringjsonArrStr){
- JSONArrayjsonArr=JSONArray.fromObject(jsonArrStr);
-
Listlist=newArrayList();
-
for(inti=0;i<jsonArr.size();i++){
- list.add(jsonArr.get(i));
- }
-
returnlist;
- }
-
publicstaticListgetListFromJsonArrStr(StringjsonArrStr,Classclazz){
- JSONArrayjsonArr=JSONArray.fromObject(jsonArrStr);
-
Listlist=newArrayList();
-
for(inti=0;i<jsonArr.size();i++){
- list.add(JSONObject.toBean(jsonArr.getJSONObject(i),clazz));
- }
-
returnlist;
- }
-
publicstaticListgetListFromJsonArrStr(StringjsonArrStr,Classclazz,MapclassMap){
- JSONArrayjsonArr=JSONArray.fromObject(jsonArrStr);
-
Listlist=newArrayList();
-
for(inti=0;i<jsonArr.size();i++){
- list.add(JSONObject.toBean(jsonArr.getJSONObject(i),clazz,classMap));
- }
-
returnlist;
- }
-
publicstaticMapgetMapFromJsonObjStr(StringjsonObjStr){
- JSONObjectjsonObject=JSONObject.fromObject(jsonObjStr);
-
Mapmap=newHashMap();
-
for(Iteratoriter=jsonObject.keys();iter.hasNext();){
- Stringkey=(String)iter.next();
- map.put(key,jsonObject.get(key));
- }
-
returnmap;
- }
-
publicstaticMapgetMapFromJsonObjStr(StringjsonObjStr,Classclazz){
- JSONObjectjsonObject=JSONObject.fromObject(jsonObjStr);
-
Mapmap=newHashMap();
-
for(Iteratoriter=jsonObject.keys();iter.hasNext();){
- Stringkey=(String)iter.next();
- map.put(key,JSONObject.toBean(jsonObject.getJSONObject(key),clazz));
- }
-
returnmap;
- }
-
publicstaticMapgetMapFromJsonObjStr(StringjsonObjStr,Classclazz,MapclassMap){
- JSONObjectjsonObject=JSONObject.fromObject(jsonObjStr);
-
Mapmap=newHashMap();
-
for(Iteratoriter=jsonObject.keys();iter.hasNext();){
- Stringkey=(String)iter.next();
- map.put(key,JSONObject
- .toBean(jsonObject.getJSONObject(key),clazz,classMap));
- }
-
returnmap;
- }
-
publicstaticStringgetJsonStr(Objectobj){
-
StringjsonStr=null;
-
JsonConfigjsonCfg=newJsonConfig();
-
jsonCfg.registerJsonValueProcessor(java.util.Date.class,
-
newJsonDateValueProcessor(Util.YYYY_MM_DD_HH_MM_ss));
-
if(obj==null){
-
return"{}";
- }
-
if(objinstanceofCollection||objinstanceofObject[]){
- jsonStr=JSONArray.fromObject(obj,jsonCfg).toString();
-
}else{
- jsonStr=JSONObject.fromObject(obj,jsonCfg).toString();
- }
-
returnjsonStr;
- }
-
publicstaticStringgetXMLFromObj(Objectobj){
-
XMLSerializerxmlSerial=newXMLSerializer();
-
JsonConfigjsonCfg=newJsonConfig();
-
jsonCfg.registerJsonValueProcessor(java.util.Date.class,
-
newJsonDateValueProcessor(Util.YYYY_MM_DD_HH_MM_ss));
-
if((String.class.isInstance(obj)&&String.valueOf(obj).startsWith("["))
-
||obj.getClass().isArray()||Collection.class.isInstance(obj)){
- JSONArrayjsonArr=JSONArray.fromObject(obj,jsonCfg);
-
returnxmlSerial.write(jsonArr);
-
}else{
- JSONObjectjsonObj=JSONObject.fromObject(obj,jsonCfg);
-
returnxmlSerial.write(jsonObj);
- }
- }
-
publicstaticStringgetJsonStrFromXML(Stringxml){
-
XMLSerializerxmlSerial=newXMLSerializer();
-
returnString.valueOf(xmlSerial.read(xml));
- }
- }
-
classJsonDateValueProcessorimplementsJsonValueProcessor{
-
privateStringformat=Util.YYYY_MM_DD_HH_MM_ss;
-
publicJsonDateValueProcessor(){
- }
-
publicJsonDateValueProcessor(Stringformat){
-
this.format=format;
- }
-
publicObjectprocessArrayValue(Objectvalue,JsonConfigjsonConfig){
-
returnprocess(value,jsonConfig);
- }
-
publicObjectprocessObjectValue(Stringkey,Objectvalue,JsonConfigjsonConfig){
-
returnprocess(value,jsonConfig);
- }
-
privateObjectprocess(Objectvalue,JsonConfigjsonConfig){
-
if(valueinstanceofDate){
-
Stringstr=newSimpleDateFormat(format).format((Date)value);
-
returnstr;
- }
-
returnvalue==null?null:value.toString();
- }
-
publicStringgetFormat(){
-
returnformat;
- }
-
publicvoidsetFormat(Stringformat){
-
this.format=format;
- }
- }
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;
}
}
- packagecomm.test;
-
importjava.text.SimpleDateFormat;
-
importjava.util.ArrayList;
-
importjava.util.Date;
-
importjava.util.HashMap;
-
importjava.util.Iterator;
-
importjava.util.LinkedHashMap;
-
importjava.util.LinkedHashSet;
-
importjava.util.List;
-
importjava.util.Map;
-
importjava.util.Set;
-
importjunit.framework.TestCase;
-
importcomm.JsonUtil;
-
publicclassJsonUtilTestextendsTestCase{
-
publicvoidtestGetDtoFromJsonObjStr1(){
-
Stringjson="{'name':'get','dateAttr':'2009-11-12'}";
-
Personps=(Person)JsonUtil.getDtoFromJsonObjStr(json,Person.class);
- System.out.println(ps.getName());
-
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");
- System.out.println(sdf.format(ps.getDateAttr()));
- }
-
publicvoidtestGetDtoFromJsonObjStr3(){
-
Stringjson="{'data':[{'name':'get'},{'name':'set'}]}";
-
MapclassMap=newHashMap();
-
classMap.put("data",Person.class);
-
MyBeanmyBean=(MyBean)JsonUtil.getDtoFromJsonObjStr(json,MyBean.class,
- classMap);
-
System.out.println(myBean.getData().get(0).getClass()+"name="
-
+((Person)myBean.getData().get(0)).getName());
-
System.out.println(myBean.getData().get(1).getClass()+"name="
-
+((Person)myBean.getData().get(1)).getName());
- }
-
publicvoidtestGetArrFromJsonArrStr(){
-
Stringjson="['get',1,true,null]";
- Object[]objArr=JsonUtil.getArrFromJsonArrStr(json);
-
for(inti=0;i<objArr.length;i++){
-
System.out.println(objArr[i].getClass()+""+objArr[i]);
- }
- }
-
publicvoidtestGetDtoArrFromJsonArrStr1(){
-
Stringjson="[{'name':'get'},{'name':'set'}]";
-
Object[]objArr=JsonUtil.getDtoArrFromJsonArrStr(json,Person.class);
-
for(inti=0;i<objArr.length;i++){
-
System.out.println(objArr[i].getClass()+"name="
- +((Person)objArr[i]).getName());
- }
- }
-
publicvoidtestGetDtoArrFromJsonArrStr2(){
-
Stringjson="[{'data':[{'name':'get'}]},{'data':[{'name':'set'}]}]";
-
MapclassMap=newHashMap();
-
classMap.put("data",Person.class);
-
Object[]objArr=JsonUtil.getDtoArrFromJsonArrStr(json,MyBean.class,classMap);
-
for(inti=0;i<objArr.length;i++){
-
System.out.println(((MyBean)objArr[i]).getData().get(0).getClass()
-
+"name="
-
+((Person)((MyBean)objArr[i]).getData().get(0)).getName());
- }
- }
-
publicvoidtestGetListFromJsonArrStr1(){
-
Stringjson="['get',1,true,null]";
- Listlist=JsonUtil.getListFromJsonArrStr(json);
-
for(inti=0;i<list.size();i++){
-
System.out.println(list.get(i).getClass()+""+list.get(i));
- }
- }
-
publicvoidtestGetListFromJsonArrStr2(){
-
Stringjson="[{'name':'get'},{'name':'set'}]";
-
Listlist=JsonUtil.getListFromJsonArrStr(json,Person.class);
-
for(inti=0;i<list.size();i++){
-
System.out.println(list.get(i).getClass()+"name="
- +((Person)list.get(i)).getName());
- }
- }
-
publicvoidtestGetListFromJsonArrStr3(){
-
Stringjson="[{'data':[{'name':'get'}]},{'data':[{'name':'set'}]}]";
-
MapclassMap=newHashMap();
-
classMap.put("data",Person.class);
-
Listlist=JsonUtil.getListFromJsonArrStr(json,MyBean.class,classMap);
-
for(inti=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());
- }
- }
-
publicvoidtestGetMapFromJsonObjStr(){
-
Stringjson="{'name':'get','int':1,'double':1.1,'null':null}";
- Mapmap=JsonUtil.getMapFromJsonObjStr(json);
-
for(Iteratoriter=map.keySet().iterator();iter.hasNext();){
- System.out.println(map.get(iter.next()).getClass());
- }
- }
-
publicvoidtestGetMapFromJsonObjStr2(){
-
Stringjson="{'data1':{'name':'get'},'data2':{'name':'set'}}";
-
Mapmap=JsonUtil.getMapFromJsonObjStr(json,Person.class);
-
for(Iteratoriter=map.keySet().iterator();iter.hasNext();){
- Stringkey=(String)iter.next();
-
System.out.println(map.get(key).getClass()+"name="
- +((Person)map.get(key)).getName());
- }
- }
-
publicvoidtestGetMapFromJsonObjStr3(){
-
Stringjson="{'mybean':{'data':[{'name':'get'}]}}";
-
MapclassMap=newHashMap();
-
classMap.put("data",Person.class);
-
Mapmap=JsonUtil.getMapFromJsonObjStr(json,MyBean.class,classMap);
-
for(Iteratoriter=map.keySet().iterator();iter.hasNext();){
- Stringkey=(String)iter.next();
-
Objecto=((MyBean)map.get(key)).getData().get(0);
-
System.out.println(o.getClass()+"name="+((Person)o).getName());
- }
- }
-
publicvoidtestgetJsonStr1(){
-
Personps=newPerson();
-
ps.setDateAttr(newDate());
-
ps.setName("get");
-
MyBeanmyBean=newMyBean();
-
Listlist=newArrayList();
- list.add(ps);
- myBean.setData(list);
- System.out.println(JsonUtil.getJsonStr(myBean));
- }
-
publicvoidtestgetJsonStr2(){
-
Personps=newPerson();
-
ps.setDateAttr(newDate());
-
ps.setName("get");
-
Mapmap=newLinkedHashMap();
-
map.put("person1",ps);
- System.out.println(JsonUtil.getJsonStr(map));
- }
-
publicvoidtestgetJsonStr3(){
-
Personps=newPerson();
-
ps.setDateAttr(newDate());
-
ps.setName("get");
-
Person[]personArr=newPerson[1];
-
personArr[0]=ps;
- System.out.println(JsonUtil.getJsonStr(personArr));
- }
-
publicvoidtestgetJsonStr4(){
-
Personps=newPerson();
-
ps.setDateAttr(newDate());
-
ps.setName("get");
-
Listlist=newArrayList();
- list.add(ps);
- System.out.println(JsonUtil.getJsonStr(list));
- }
-
publicvoidtestgetJsonStr5(){
-
Personps=newPerson();
-
ps.setDateAttr(newDate());
-
ps.setName("get");
-
Setset=newLinkedHashSet();
- set.add(ps);
- System.out.println(JsonUtil.getJsonStr(set));
- }
-
publicvoidtestGetXMLFromObj1(){
- System.out.println(JsonUtil
-
.getXMLFromObj("{/"name/":/"json/",/"bool/":true,/"int/":1}"));
- }
-
publicvoidtestGetXMLFromObj2(){
-
System.out.println(JsonUtil.getXMLFromObj("[1,2,3]"));
- }
-
publicvoidtestGetXMLFromObj3(){
-
Personps=newPerson();
-
ps.setDateAttr(newDate());
-
ps.setName("get");
-
Person[]personArr=newPerson[2];
-
personArr[0]=ps;
- System.out.println(JsonUtil.getXMLFromObj(personArr));
- }
-
publicvoidtestGetXMLFromObj4(){
-
Personps=newPerson();
-
ps.setDateAttr(newDate());
-
ps.setName("get");
-
Listlist=newArrayList();
- list.add(ps);
- System.out.println(JsonUtil.getXMLFromObj(list));
- }
-
publicvoidtestGetXMLFromObj5(){
-
Personps=newPerson();
-
ps.setDateAttr(newDate());
-
ps.setName("get");
-
Setset=newLinkedHashSet();
- set.add(ps);
- System.out.println(JsonUtil.getXMLFromObj(set));
- }
-
publicvoidtestGetXMLFromObj6(){
-
Personps=newPerson();
-
ps.setDateAttr(newDate());
-
ps.setName("get");
-
Mapmap=newHashMap();
-
map.put("person1",ps);
- System.out.println(JsonUtil.getXMLFromObj(map));
- }
-
publicvoidtestGetXMLFromObj7(){
-
Personps=newPerson();
-
ps.setDateAttr(newDate());
-
ps.setName("get");
- System.out.println(JsonUtil.getXMLFromObj(ps));
- }
-
publicvoidtestGetJsonStrFromXML1(){
-
Stringxml="<o><dateAttrtype='string'>2009-09-1207:13:02</dateAttr>"
-
+"<nametype='string'>get</name></o>";
- System.out.println(JsonUtil.getJsonStrFromXML(xml));
- }
-
publicvoidtestGetJsonStrFromXML2(){
-
Stringxml="<aclass='array'><eclass='object'><dateAttrtype='string'>2009-09-1207:04:38</dateAttr>"
-
+"<nametype='string'>get</name></e></a>";
- System.out.println(JsonUtil.getJsonStrFromXML(xml));
- }
- }
相关推荐
在`commonUtils-master`这个项目中,你可以找到这些工具类的源代码,学习它们的实现细节,以便在自己的项目中进行复用或参考。对于Java开发者来说,理解和使用这些工具类能够提升开发效率,同时保证代码的稳定性和可...
在本文档《json 学习笔记_***.pdf》中,主要介绍了在Java开发中,如何使用三个常用的JSON处理工具:struts json,json_lib,jackson-mapper。同时,也提到了在使用这些工具时可能遇到的一些常见错误及其处理方法。 ...
例如,`<interceptor-ref name="defaultStack">`表明JSONPlugin使用了默认的拦截器栈,并可能在其中添加或调整了特定的拦截器来处理JSON相关的逻辑。 再来看看`com`目录。这通常包含了源代码的包结构。在这个源码包...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于前后端数据传输。...这些基础的工具类在小型项目或学习实践中非常实用,但面对复杂业务场景,使用成熟的JSON库会更高效和稳定。
总结来说,本示例展示了在Android中如何通过JSON数据访问服务器,利用多线程提高性能,以及如何使用自定义的`JsonUtil`工具类进行JSON解析。这不仅对初学者有很好的学习价值,也为网络编程经验较少的开发者提供了一...
"util"包通常用于存放各种通用工具类,这里的"JsonUtil"可能是对已有JSON库的一个简单封装,以提供更加便捷的使用方式。比较"lyzjson"与"JsonUtil"的性能、易用性、功能完备性,可以帮助我们评估它们在实际项目中的...
通过阅读源码,我们可以学习如何有效地使用字符串处理API,并了解如何在C#中实现更复杂的功能。 另一个可能的类是`DateTimeUtil`,它可能包含了日期时间的常见操作,如获取当前时间、日期计算、时间格式化等。这个...
描述中提到的“src”目录包含的是源码文件,这意味着你可以查看和学习这些工具类的实现细节,这对于理解JSON处理机制以及如何在自己的项目中应用这些工具类非常有帮助。而“lib”目录中的“swc”文件是Adobe的库文件...
本篇文章将深入探讨如何创建一个简单的JSON数据格式转换类,并分析提供的两个源代码文件——`JsonUtil.java`和`Json.java`。 在Java中,处理JSON数据通常有多种库可供选择,如Gson、Jackson、Fastjson等。然而,...
总结来说,"jfianldemo" 项目是学习和掌握 JFinal 3.1 的绝佳示例,它涵盖了 MVC 结构、插件系统、拦截器、AOP、性能优化以及工具类的使用等多个方面。通过对这个 demo 的深入研究,开发者不仅可以熟练运用 JFinal,...
3. 使用工具提供的API,如`JsonUtil.beanToJson(SimpleBean bean)`,将Bean对象转换为JSON字符串。 4. 阅读"使用说明.java.txt"了解具体调用方式和注意事项。 由于工具只支持String和Long类型,对于复杂的数据结构...
`java.util.Date`和`java.time`包中的类可能被大量使用,学习并熟练掌握这些API能够帮助我们更好地处理日期和时间问题。 3. **ReflectionUtils.java**: 反射是Java中强大的特性,允许运行时动态地访问类和对象。`...
以上10个工具类涵盖了Android开发中的多个关键领域,通过学习和使用这些源码,开发者可以提升开发效率,减少重复工作,同时也能深入了解Android系统内部的工作原理。通过访问提供的博客链接...
例如,使用`mx.rpc.json`包中的`JSON`类或`JSONUtil`类来解析和序列化JSON数据。 2. **JSON解析**: 当从服务器接收到JSON字符串时,可以使用`JSON.parse()`方法将字符串转换为ActionScript对象。例如: ```...
其官方文档“Hutool+Wiki.pdf”包含了详尽的使用指南和实例,是学习和使用Hutool的宝贵资源。下面,我们将深入探讨Hutool工具类中的核心功能和应用场景。 一、Hutool简介 Hutool由一系列独立的模块组成,包括日期...
在Flash中,我们可以使用内置的XML类来解析和操作XML文档,或者使用JSONUtil等库来处理JSON格式的数据。 3. **XMLHttpRequest对象**: 虽然Flash不直接提供XMLHttpRequest对象,但可以通过Flash的Socket或URLLoader...
在学习和使用SpringMVC时,不断积累这些工具类并完善它们,可以使代码更加规范和高效。初学者可能一开始接触的工具类并不多,但随着经验的积累和项目的复杂度增加,会发现越来越多的场景需要自定义工具类来解决特定...
Hutool的API大全`.chm`文件是一份详细的文档,其中包含了每个类的使用示例和方法说明,是学习和使用Hutool的重要参考资料。通过阅读这份文档,开发者可以快速上手并熟练掌握Hutool的使用,提升开发效率,减少代码量...
你可以使用Flex的XML类来解析和操作XML文档,或者使用JSONUtil或AS3CoreLib等库解析JSON数据。 3. **Collections**:Flex提供了一系列集合类,如ArrayCollection、ListCollectionView等,它们是数据绑定的主要载体...