Android Json解析工具类
16lz
2021-01-23
/** * Json与javaBean之间的转换工具类 * * 需要 * json-lib-2.4-jdk15.jar * ezmorph-1.0.6.jar * commons-collections-3.1.jar * commons-lang-2.0.jar * 支持 */public class JsonPluginsUtil { *//** * 从一个JSON 对象字符格式中得到一个java对象 * * @param jsonString * @param beanCalss * @return *//* @SuppressWarnings("unchecked") public static T jsonToBean(String jsonString, Class beanCalss) { JSONObject jsonObject = JSONObject.fromObject(jsonString); T bean = (T) JSONObject.toBean(jsonObject, beanCalss); return bean; } *//** * 将java对象转换成json字符串 * * @param bean * @return *//* public static String beanToJson(Object bean) { JSONObject json = JSONObject.fromObject(bean); return json.toString(); } *//** * 将java对象转换成json字符串 * * @param bean * @return *//* public static String beanToJson(Object bean, String[] _nory_changes, boolean nory) { JSONObject json = null; if(nory){//转换_nory_changes里的属性 Field[] fields = bean.getClass().getDeclaredFields(); String str = ""; for(Field field : fields){// System.out.println(field.getName()); str+=(":"+field.getName()); } fields = bean.getClass().getSuperclass().getDeclaredFields(); for(Field field : fields){// System.out.println(field.getName()); str+=(":"+field.getName()); } str+=":"; for(String s : _nory_changes){ str = str.replace(":"+s+":", ":"); } json = JSONObject.fromObject(bean,configJson(str.split(":"))); }else{//转换除了_nory_changes里的属性 json = JSONObject.fromObject(bean,configJson(_nory_changes)); } return json.toString(); } private static JsonConfig configJson(String[] excludes) { JsonConfig jsonConfig = new JsonConfig(); jsonConfig.setExcludes(excludes); // jsonConfig.setIgnoreDefaultExcludes(false); //// jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); // jsonConfig.registerJsonValueProcessor(Date.class, //// new DateJsonValueProcessor(datePattern)); return jsonConfig; } *//** * 将java对象List集合转换成json字符串 * @param beans * @return *//* public static String beanListToJson(List beans) { StringBuffer rest = new StringBuffer(); rest.append("["); int size = beans.size(); for (int i = 0; i < size; i++) { rest.append(beanToJson(beans.get(i))+((i1)?",":"")); } rest.append("]"); return rest.toString(); } *//** * * @param beans * @param _no_changes * @return *//* public static String beanListToJson(List beans, String[] _nory_changes, boolean nory) { StringBuffer rest = new StringBuffer(); rest.append("["); int size = beans.size(); for (int i = 0; i < size; i++) { try{ rest.append(beanToJson(beans.get(i),_nory_changes,nory)); if(i1){ rest.append(","); } }catch(Exception e){ e.printStackTrace(); } } rest.append("]"); return rest.toString(); } *//** * 从json HASH表达式中获取一个map,改map支持嵌套功能 * * @param jsonString * @return *//* @SuppressWarnings("unchecked") public static Map jsonToMap(String jsonString) { JSONObject jsonObject = JSONObject.fromObject(jsonString); Iterator keyIter = jsonObject.keys(); String key; Object value; Map valueMap = new HashMap(); while (keyIter.hasNext()) { key = (String) keyIter.next(); value = jsonObject.get(key).toString(); valueMap.put(key, value); } return valueMap; } *//** * map集合转换成json格式数据 * @param map * @return *//* public static String mapToJson(Map map, String[] _nory_changes, boolean nory){ String s_json = "{"; Set key = map.keySet(); for (Iterator<?> it = key.iterator(); it.hasNext();) { String s = (String) it.next(); if(map.get(s) == null){ }else if(map.get(s) instanceof List<?>){ s_json+=(s+":"+JsonPluginsUtil.beanListToJson((List<?>)map.get(s), _nory_changes, nory)); }else{ JSONObject json = JSONObject.fromObject(map); s_json += (s+":"+json.toString());; } if(it.hasNext()){ s_json+=","; } } s_json+="}"; return s_json; } *//** * 从json数组中得到相应java数组 * * @param jsonString * @return *//* public static Object[] jsonToObjectArray(String jsonString) { JSONArray jsonArray = JSONArray.fromObject(jsonString); return jsonArray.toArray(); } public static String listToJson(List<?> list) { JSONArray jsonArray = JSONArray.fromObject(list); return jsonArray.toString(); } *//** * 从json对象集合表达式中得到一个java对象列表 * * @param jsonString * @param beanClass * @return *//* @SuppressWarnings("unchecked") public static List jsonToBeanList(String jsonString, Class beanClass) { JSONArray jsonArray = JSONArray.fromObject(jsonString); JSONObject jsonObject; T bean; int size = jsonArray.size(); List list = new ArrayList(size); for (int i = 0; i < size; i++) { jsonObject = jsonArray.getJSONObject(i); bean = (T) JSONObject.toBean(jsonObject, beanClass); list.add(bean); } return list; } *//** * 从json数组中解析出java字符串数组 * * @param jsonString * @return *//* public static String[] jsonToStringArray(String jsonString) { JSONArray jsonArray = JSONArray.fromObject(jsonString); String[] stringArray = new String[jsonArray.size()]; int size = jsonArray.size(); for (int i = 0; i < size; i++) { stringArray[i] = jsonArray.getString(i); } return stringArray; } *//** * 从json数组中解析出javaLong型对象数组 * * @param jsonString * @return *//* public static Long[] jsonToLongArray(String jsonString) { JSONArray jsonArray = JSONArray.fromObject(jsonString); int size = jsonArray.size(); Long[] longArray = new Long[size]; for (int i = 0; i < size; i++) { longArray[i] = jsonArray.getLong(i); } return longArray; } *//** * 从json数组中解析出java Integer型对象数组 * * @param jsonString * @return *//* public static Integer[] jsonToIntegerArray(String jsonString) { JSONArray jsonArray = JSONArray.fromObject(jsonString); int size = jsonArray.size(); Integer[] integerArray = new Integer[size]; for (int i = 0; i < size; i++) { integerArray[i] = jsonArray.getInt(i); } return integerArray; } *//** * 从json数组中解析出java Double型对象数组 * * @param jsonString * @return *//* public static Double[] jsonToDoubleArray(String jsonString) { JSONArray jsonArray = JSONArray.fromObject(jsonString); int size = jsonArray.size(); Double[] doubleArray = new Double[size]; for (int i = 0; i < size; i++) { doubleArray[i] = jsonArray.getDouble(i); } return doubleArray; }}
———————————————————————
有需求者请加qq:136137465,非诚勿扰
(java 架构师全套教程,共760G, 让你从零到架构师,每月轻松拿3万)
01.高级架构师四十二个阶段高
02.Java高级系统培训架构课程148课时
03.Java高级互联网架构师课程
04.Java互联网架构Netty、Nio、Mina等-视频教程
05.Java高级架构设计2016整理-视频教程
06.架构师基础、高级片
07.Java架构师必修linux运维系列课程
08.Java高级系统培训架构课程116课时
(送:hadoop系列教程,java设计模式与数据结构, Spring Cloud微服务, SpringBoot入门)
——————————————————————–
更多相关文章
- Android Base64字符串转换成图片
- android Parcelable序列化数组String[]
- Blog-07-《一周快速上手Kotlin For Android》-之数组
- Android 基本属性绘制文本对象FontMetrics介绍
- android Activity之间传递对象
- FregClient进程,创建一个BpFregService类型的代理对象
- android XMl 解析神奇xstream 三: 把复杂对象转换成 xml
- Android中一个Activity调用另一个Activity — Intent对象的使用
- js将一个数组传给android