java 怎么把字典怎么封装json格式

java 怎么把字典怎么封装json格式,第1张

java中将数据封装为JSON包,可以使用java提供的jsonArray这个工具类进行转换,代码如下:
package comjson;
import javaioIOException;
import javautilArrayList;
import javautilCollection;
import javautilHashMap;
import javautilIterator;
import javautilList;
import javautilMap;
import javaxservlethttpHttpServletResponse;
import netsfjsonJSONArray;
import netsfjsonJSONObject;
import orgapachecommonsbeanutilsBeanUtils;
import orgapachestruts2ServletActionContext;
import comopensymphonyxwork2ActionContext;
public class JSONUtils
{
/

@author wangwei JSON工具类
@param <T>

/
/
将List对象序列化为JSON文本
/
public static <T> String toJSONString(List<T> list)
{
JSONArray jsonArray = JSONArrayfromObject(list);
return jsonArraytoString();
}
/
将对象序列化为JSON文本
@param object
@return
/
public static String toJSONString(Object object)
{
JSONArray jsonArray = JSONArrayfromObject(object);
return jsonArraytoString();
}
/
将JSON对象数组序列化为JSON文本
@param jsonArray
@return
/
public static String toJSONString(JSONArray jsonArray)
{
return jsonArraytoString();
}
/
将JSON对象序列化为JSON文本
@param jsonObject
@return
/
public static String toJSONString(JSONObject jsonObject)
{
return jsonObjecttoString();
}
/
将对象转换为List对象
@param object
@return
/
public static List toArrayList(Object object)
{
List arrayList = new ArrayList();
JSONArray jsonArray = JSONArrayfromObject(object);
Iterator it = jsonArrayiterator();
while (ithasNext())
{
JSONObject jsonObject = (JSONObject) itnext();
Iterator keys = jsonObjectkeys();
while (keyshasNext())
{
Object key = keysnext();
Object value = jsonObjectget(key);
arrayListadd(value);
}
}
return arrayList;
}
/
将对象转换为Collection对象
@param object
@return
/
public static Collection toCollection(Object object)
{
JSONArray jsonArray = JSONArrayfromObject(object);
return JSONArraytoCollection(jsonArray);
}
/
将对象转换为JSON对象数组
@param object
@return
/
public static JSONArray toJSONArray(Object object)
{
return JSONArrayfromObject(object);
}
/
将对象转换为JSON对象
@param object
@return
/
public static JSONObject toJSONObject(Object object)
{
return JSONObjectfromObject(object);
}
/
将对象转换为HashMap
@param object
@return
/
public static HashMap toHashMap(Object object)
{
HashMap<String, Object> data = new HashMap<String, Object>();
JSONObject jsonObject = JSONUtilstoJSONObject(object);
Iterator it = jsonObjectkeys();
while (ithasNext())
{
String key = StringvalueOf(itnext());
Object value = jsonObjectget(key);
dataput(key, value);
}
return data;
}
/
将对象转换为List<Map<String,Object>>
@param object
@return
/
// 返回非实体类型(Map<String,Object>)的List
public static List<Map<String, Object>> toList(Object object)
{
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
JSONArray jsonArray = JSONArrayfromObject(object);
for (Object obj : jsonArray)
{
JSONObject jsonObject = (JSONObject) obj;
Map<String, Object> map = new HashMap<String, Object>();
Iterator it = jsonObjectkeys();
while (ithasNext())
{
String key = (String) itnext();
Object value = jsonObjectget(key);
mapput((String) key, value);
}
listadd(map);
}
return list;
}
/
将JSON对象数组转换为传入类型的List
@param <T>
@param jsonArray
@param objectClass
@return
/
public static <T> List<T> toList(JSONArray jsonArray, Class<T> objectClass)
{
return JSONArraytoList(jsonArray, objectClass);
}
/
将对象转换为传入类型的List
@param <T>
@param jsonArray
@param objectClass
@return
/
public static <T> List<T> toList(Object object, Class<T> objectClass)
{
JSONArray jsonArray = JSONArrayfromObject(object);
return JSONArraytoList(jsonArray, objectClass);
}
/
将JSON对象转换为传入类型的对象
@param <T>
@param jsonObject
@param beanClass
@return
/
public static <T> T toBean(JSONObject jsonObject, Class<T> beanClass)
{
return (T) JSONObjecttoBean(jsonObject, beanClass);
}
/
将将对象转换为传入类型的对象
@param <T>
@param object
@param beanClass
@return
/
public static <T> T toBean(Object object, Class<T> beanClass)
{
JSONObject jsonObject = JSONObjectfromObject(object);
return (T) JSONObjecttoBean(jsonObject, beanClass);
}
/
将JSON文本反序列化为主从关系的实体
@param <T> 泛型T 代表主实体类型
@param <D> 泛型D 代表从实体类型
@param jsonString JSON文本
@param mainClass 主实体类型
@param detailName 从实体类在主实体类中的属性名称
@param detailClass 从实体类型
@return
/
public static <T, D> T toBean(String jsonString, Class<T> mainClass,
String detailName, Class<D> detailClass)
{
JSONObject jsonObject = JSONObjectfromObject(jsonString);
JSONArray jsonArray = (JSONArray) jsonObjectget(detailName);
T mainEntity = JSONUtilstoBean(jsonObject, mainClass);
List<D> detailList = JSONUtilstoList(jsonArray, detailClass);
try
{
BeanUtilssetProperty(mainEntity, detailName, detailList);
}
catch (Exception ex)
{
throw new RuntimeException("主从关系JSON反序列化实体失败!");
}
return mainEntity;
}
/
将JSON文本反序列化为主从关系的实体
@param <T>泛型T 代表主实体类型
@param <D1>泛型D1 代表从实体类型
@param <D2>泛型D2 代表从实体类型
@param jsonString JSON文本
@param mainClass 主实体类型
@param detailName1 从实体类在主实体类中的属性
@param detailClass1 从实体类型
@param detailName2 从实体类在主实体类中的属性
@param detailClass2 从实体类型
@return
/
public static <T, D1, D2> T toBean(String jsonString, Class<T> mainClass,
String detailName1, Class<D1> detailClass1, String detailName2,
Class<D2> detailClass2)
{
JSONObject jsonObject = JSONObjectfromObject(jsonString);
JSONArray jsonArray1 = (JSONArray) jsonObjectget(detailName1);
JSONArray jsonArray2 = (JSONArray) jsonObjectget(detailName2);
T mainEntity = JSONUtilstoBean(jsonObject, mainClass);
List<D1> detailList1 = JSONUtilstoList(jsonArray1, detailClass1);
List<D2> detailList2 = JSONUtilstoList(jsonArray2, detailClass2);
try
{
BeanUtilssetProperty(mainEntity, detailName1, detailList1);
BeanUtilssetProperty(mainEntity, detailName2, detailList2);
}
catch (Exception ex)
{
throw new RuntimeException("主从关系JSON反序列化实体失败!");
}
return mainEntity;
}
/
将JSON文本反序列化为主从关系的实体
@param <T>泛型T 代表主实体类型
@param <D1>泛型D1 代表从实体类型
@param <D2>泛型D2 代表从实体类型
@param jsonString JSON文本
@param mainClass 主实体类型
@param detailName1 从实体类在主实体类中的属性
@param detailClass1 从实体类型
@param detailName2 从实体类在主实体类中的属性
@param detailClass2 从实体类型
@param detailName3 从实体类在主实体类中的属性
@param detailClass3 从实体类型
@return
/
public static <T, D1, D2, D3> T toBean(String jsonString,
Class<T> mainClass, String detailName1, Class<D1> detailClass1,
String detailName2, Class<D2> detailClass2, String detailName3,
Class<D3> detailClass3)
{
JSONObject jsonObject = JSONObjectfromObject(jsonString);
JSONArray jsonArray1 = (JSONArray) jsonObjectget(detailName1);
JSONArray jsonArray2 = (JSONArray) jsonObjectget(detailName2);
JSONArray jsonArray3 = (JSONArray) jsonObjectget(detailName3);
T mainEntity = JSONUtilstoBean(jsonObject, mainClass);
List<D1> detailList1 = JSONUtilstoList(jsonArray1, detailClass1);
List<D2> detailList2 = JSONUtilstoList(jsonArray2, detailClass2);
List<D3> detailList3 = JSONUtilstoList(jsonArray3, detailClass3);
try
{
BeanUtilssetProperty(mainEntity, detailName1, detailList1);
BeanUtilssetProperty(mainEntity, detailName2, detailList2);
BeanUtilssetProperty(mainEntity, detailName3, detailList3);
}
catch (Exception ex)
{
throw new RuntimeException("主从关系JSON反序列化实体失败!");
}
return mainEntity;
}
/
将JSON文本反序列化为主从关系的实体
@param <T> 主实体类型
@param jsonString JSON文本
@param mainClass 主实体类型
@param detailClass 存放了多个从实体在主实体中属性名称和类型
@return
/
public static <T> T toBean(String jsonString, Class<T> mainClass,
HashMap<String, Class> detailClass)
{
JSONObject jsonObject = JSONObjectfromObject(jsonString);
T mainEntity = JSONUtilstoBean(jsonObject, mainClass);
for (Object key : detailClasskeySet())
{
try
{
Class value = (Class) detailClassget(key);
BeanUtilssetProperty(mainEntity, keytoString(), value);
}
catch (Exception ex)
{
throw new RuntimeException("主从关系JSON反序列化实体失败!");
}
}
return mainEntity;
}
/
封装json数据从后台传输
@param obj
/
public static void outPutJson(Object obj){
ActionContext context = ActionContextgetContext();
HttpServletResponse response = (HttpServletResponse) contextget(ServletActionContextHTTP_RESPONSE);
try {
responsegetWriter()print(obj);
} catch (IOException e) {
eprintStackTrace();
}
}
}
//测试类
String s1 = "[{id:1, pId:0, name:\"test1\" , open:true}]";
String s2 = "{id:2, pId:1, name:\"test211\" , open:true}";
String s3 = "{id:3, pId:2, name:\"test311\" , open:true}";
String s4 = "{id:4, pId:1, name:\"test411\" , open:true}";
List<String> listZtree = new ArrayList<String>();
listZtreeadd(s1);
listZtreeadd(s2);
listZtreeadd(s3);
listZtreeadd(s4);
Systemoutprintln(JSONUtilstoJSONString(listZtree));
}

以上就是关于java 怎么把字典怎么封装json格式全部的内容,包括:java 怎么把字典怎么封装json格式、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9533870.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存