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解析工具类相关推荐
- [Android开发] Json解析工具类,一个类搞定Json的解析
一.简介 利用递归的方式反射解析到bean里面 二.详细代码 1. Json格式 例如服务器指定规定json格式为: {"code": "--" , // 返回 ...
- 一文吃透Json解析工具类合集(FastJson、Jackson、Gson)
Json解析工具类 前言 一.各个JSON技术的简介 1.1 FastJson角色 1.2 Jackson角色 1.3 Gson角色 二.使用步骤 2.1 引入库 1.FastJson依赖 2.Jac ...
- java 自定义json解析注解 复杂json解析 工具类
java 自定义json解析注解 复杂json解析 工具类 目录 java 自定义json解析注解 复杂json解析 工具类 1.背景 2.需求-各式各样的json 一.一星难度json[json对象 ...
- unity3d Json解析工具类
使用到的是Newtonsoft.Json动态库,下载地址: http://www.newtonsoft.com/json using Newtonsoft.Json; using System.Col ...
- Android Json解析方法
为什么80%的码农都做不了架构师?>>> 关于Json Json:JavaScript Object Notation Json数据是一系列的键值对集合,相对XML体积小 Js ...
- Android常用的工具类
2019独角兽企业重金招聘Python工程师标准>>> 最新最准确内容建议直接访问原文:Android常用的工具类 主要介绍总结的Android开发中常用的工具类,大部分同样适用于J ...
- android 数组指针异常,Android JSON解析Json数组是[]在解析时抛出空指针异常,如何以正确的方式写入?...
我有复杂的API,我解析并显示在列表视图中,我将努力解析JSONArray.Here我将在斗争之后Json数组这是在帖子json对象"tags_name":["Activ ...
- Android Json解析与总结
一.JSON定义 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Progra ...
- Json解析工具Jackson(使用注解)
接上一篇文章Json解析工具Jackson(简单应用),jackson在实际应用中给我们提供了一系列注解,提高了开发的灵活性,下面介绍一下最常用的一些注解 @JsonIgnoreProperties ...
- JSON解析工具比较,主要GSON和FastJSON
转自:http://www.cnblogs.com/kunpengit/p/4001680.html 一 .各个JSON技术的简介和优劣 1.json-lib json-lib最开始的也是应用最广泛的 ...
最新文章
- debian/ubuntu下安装java8
- python 爬虫 学习笔记(一)Scrapy框架入门
- 用例设计大全(整理)
- 微信和支付宝支付模式详解及实现(.Net标准库)- OSS开源系列
- 关于Scala递归返回参数的问题
- windows中wnmp设置nginx启动脚本
- linux内存free低,Linux上的内存使用情况与`free`不匹配
- 原生态Vim使用快捷键
- 文本摘要提取_了解自动文本摘要-1:提取方法
- 教你玩转CSS padding(填充)
- 美国Palmbeach大学服务器整合改造案例
- android打包规范包含第三方库aar,Android Studio 打包AAR和第三方静态库(示例代码)
- Python基础知识3: if判断语句
- 极速安装JumpServer - 官方文档版
- boost.asio异步并发Tcp服务器
- Google作图工具- SketchUp
- 利用intellij idea工具如何反编译.jar
- 计算机科学成为独立学科的奠基人,详解卡内基梅隆大学计算机学院
- 腾讯位置服务仿微信发送位置功能
- 2021-2026年中国数字化转型市场预测:通过应用场景践行数字化优先策略