Android Json解析工具类
生活随笔
收集整理的這篇文章主要介紹了
Android Json解析工具类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/*** 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> T jsonToBean(String jsonString, Class<T> 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))+((i<size-1)?",":""));}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(i<size-1){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<String, ?> map, String[] _nory_changes, boolean nory){String s_json = "{";Set<String> 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 <T> List<T> jsonToBeanList(String jsonString, Class<T> beanClass) {JSONArray jsonArray = JSONArray.fromObject(jsonString);JSONObject jsonObject;T bean;int size = jsonArray.size();List<T> list = new ArrayList<T>(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 Json解析工具类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用Office Word 2010/2
- 下一篇: 个人开发者上架Android应用市场