实用的JSON工具类
来源:互联网 发布:php 获取远程图片 编辑:程序博客网 时间:2024/06/05 04:16
整理了一波常用的JSON工具类
package arithmetic;import java.util.ArrayList;import java.util.Collection;import java.util.HashMap;import java.util.Iterator;import java.util.List;import net.sf.json.JSONArray;import net.sf.json.JSONObject;/** * 和json有关的工具类 * @author liujd * */public class JsonUtil {/** * 将对象序列化为JSON文本 * 将该对象转换为json数组 ,再转为字符串 * @param object * @return */public static String toJSONString(Object object) {JSONArray array = JSONArray.fromObject(object);return array.toString();}/** * 将List集合转为JSON文本 * 先转为json数组 再转为字符串 * @param <T> * @param list * @return */public static <T> String toJSONStirng(List<T> list) {JSONArray array = JSONArray.fromObject(list);return array.toString();}/** * 将JSONArray转为json字符串 * @param jsonArray * @return */public static String toJSONString(JSONArray jsonArray) {return jsonArray.toString();}/** * 将JSONObject转为json字符串 * @param jsonObject * @return */public static String toJSONString(JSONObject jsonObject) {return jsonObject.toString();}/** * 将一个对象转为HashMap * 先将对象转换为JSONObject * 获取这个对象的keys * 遍历这个keys 得到每一个key以及它对应的value * 将key和value添加到集合里面 * @param object * @return */@SuppressWarnings("rawtypes")public static HashMap toHashMap(Object object) {HashMap<String,Object> map = new HashMap<>();JSONObject jsonObject = JSONObject.fromObject(object);Iterator keys = jsonObject.keys();while(keys.hasNext()) {String key = String.valueOf(keys.next());Object value = jsonObject.get(key);map.put(key, value);}return map;}/** * 通过json来将一个对象转为List集合(存所有的值) * 先将这个对象转换为一个JSON数组 * 然后遍历这个数组 将每一项都转为JSON对象 取得所有的键值对 * 遍历键值对 得到所有的值 再把所有的值添加到集合里面 * @param object * @return */@SuppressWarnings({ "rawtypes", "unchecked" })public static List toList(Object object) {List list = new ArrayList();JSONArray array = JSONArray.fromObject(object);Iterator iterator = array.iterator();while(iterator.hasNext()) {//获取到每一个对象JSONObject jsonObj = (JSONObject)iterator.next();//获取到每一个json对象的键值对Iterator keys = jsonObj.keys();//遍历键值对while(keys.hasNext()){Object key = keys.next();Object value = jsonObj.get(key);list.add(value);}}return list;}/** * 通过json来将一个对象转为List集合(存所有的键值对) * 先将这个对象转换为一个JSON数组 * 然后遍历这个数组 将每一项都转为JSON对象 取得所有的键 * 遍历键值对 得到所有的键和值 再把所有的键和值添加到map集合里面 * 将map添加到list里面 * @param object * @return */@SuppressWarnings("rawtypes")public static List<HashMap<String, Object>> toListConHash(Object object) {List<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();JSONArray jsonArray = JSONArray.fromObject(object);Iterator iterator = jsonArray.iterator();while(iterator.hasNext()) {JSONObject obj = (JSONObject)iterator.next();HashMap<String, Object> map = new HashMap<>();Iterator keys = obj.keys();while(keys.hasNext()) {String key = String.valueOf(keys.next());Object value = obj.get(key);map.put(key, value);}list.add(map);}return list;}/** * 将一个对象通过JSon转换为集合 * 通过JSONArray的静态方法 * @param object * @return */@SuppressWarnings("rawtypes")public static Collection toCollection(Object object) {JSONArray array = JSONArray.fromObject(object);return JSONArray.toCollection(array);}/** * 将一个对象转为JSON数组 * @param object * @return */public static JSONArray toJsonArray(Object object) {return JSONArray.fromObject(object);}/** * 将一个对象转换为JSONObject * @param object * @return */public static JSONObject toJsonObject(Object object) {return JSONObject.fromObject(object);}/** * 将JSON数组转换为传入类型的List集合 * @param jsonArray * @param objectClass * @return */@SuppressWarnings({ "unchecked", "deprecation" })public static <T> List<T> toList(JSONArray jsonArray,Class<T> objectClass) {return JSONArray.toList(jsonArray, objectClass);}/** * 将对象转换为传入类型的List集合 * @param object * @param objectClass * @return */@SuppressWarnings({ "deprecation", "unchecked", "static-access" })public static <T> List<T> toList(Object object,Class<T> objectClass) {JSONArray jsonArray = JSONArray.fromObject(objectClass);return jsonArray.toList(jsonArray, objectClass);}}
阅读全文
1 0
- 实用的JSON工具类
- 实用的json工具类gson
- 谷歌的json工具,简单实用
- ObjectMapper---实用的Object—json工具!结合redis实用
- 分享 xlsx转换json的强大工具(很实用)
- 实用的Http工具类
- 实用的工具类Logutil
- jsp、servlet中实用的工具类
- 推荐几个实用的Android工具类
- 实用的java注解工具类
- 方便实用的图片缩略图工具类
- Android 实用的SharedPreferences工具类
- 实用的悬浮窗工具类
- java中实用的File工具类
- 文件工具类的实用方法记录
- Android实用的SQLite数据库工具类
- 分享一些实用的工具类
- 实用的JavaScript工具
- 材料入库检验系统日志(数据迁移、系统重写)
- 解决微信及360浏览器无法读取本地图片问题
- ASP.NET开发之GridView使用方法
- echars对饼状图折线图颜色样式节点的一些问题解决
- 适用于简单项目的BaseActivity
- 实用的JSON工具类
- Java的三种代理模式
- Unity Learning for Day 22
- 数据库中只有一个时间字段,查找一个时间段的数据问题(mybits)
- python 函数编程
- JS 兼容各个浏览器的本地图片上传即时预览效果
- Spring-Spring 开发环境搭建及HelloSpring
- odi-15050:flow control not possible if no key is declared in your target datastore
- Immutable.js 以及在 react+redux 项目中的实践