- 浏览: 188686 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
arpenker:
这个命令行运行的前提是要基于LINUX服务器能够自己手动安装F ...
linux java转amr为mp3 -
smith789:
使用的类都废弃了
HttpUtil工具类 -
s21109:
自定义TabHost之手势切换Tab视图(不带动画)
package com.example.jsonutil; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import java.util.Locale; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; public class JsonUtil { public static <T> List<T> parseJson(Class<T> clzz, String jsonObjArray) { List<T> modelVOList = new ArrayList<T>(); try { JSONArray jsonArray = new JSONArray(jsonObjArray); if (jsonArray != null && jsonArray.length() > 0) { for (int i = 0; i < jsonArray.length(); i++) { T object = null; try { object = clzz.newInstance(); } catch (IllegalAccessException e1) { e1.printStackTrace(); } catch (InstantiationException e1) { e1.printStackTrace(); } JSONObject obj = jsonArray.getJSONObject(i); Field[] fields = object.getClass().getDeclaredFields(); for (int j = 0; j < fields.length; j++) { String fieldName = fields[j].getName(); String typeName = fields[j].getType().getCanonicalName().substring(fields[j].getType().getCanonicalName().lastIndexOf(".") + 1); Method jsonObjGetMethod = null; Method vehicleVOSetMethod = null; try { String jsonGetMethodName = "get" + typeName; if ("Integer".equals(typeName) || "BigDecimal".equals(typeName)) { jsonGetMethodName = "getInt"; } String firstChar = String.valueOf(fieldName.toUpperCase(Locale.US).charAt(0)); String vehicleVOSetMethodName = "set" + firstChar + fieldName.substring(1); jsonObjGetMethod = obj.getClass().getDeclaredMethod(jsonGetMethodName, new Class[]{String.class}); vehicleVOSetMethod = object.getClass().getDeclaredMethod(vehicleVOSetMethodName, new Class[]{fields[j].getType()}); Object valueObject = jsonObjGetMethod.invoke(obj, new Object[]{fieldName}); if (valueObject instanceof String) { vehicleVOSetMethod.invoke(object, new String[]{(String)valueObject}); } else if (valueObject instanceof Long) { vehicleVOSetMethod.invoke(object, new Long[]{(Long)valueObject}); } else if (valueObject instanceof Double) { vehicleVOSetMethod.invoke(object, new Double[]{(Double)valueObject}); } else if (valueObject instanceof Integer) { vehicleVOSetMethod.invoke(object, new Integer[]{(Integer)valueObject}); } else if (valueObject instanceof BigDecimal) { vehicleVOSetMethod.invoke(object, new BigDecimal[]{(BigDecimal)valueObject}); } } catch (SecurityException e) { e.printStackTrace(); } catch (NoSuchMethodException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } modelVOList.add(object); } } } catch (JSONException e) { e.printStackTrace(); } return modelVOList; } }
使用范例:
People people = new People(); people.setId("111"); people.setAge(12); people.setName("zhelong"); people.setWeight(111.2); List<People> peopleList = new ArrayList<People>(); peopleList.add(people); peopleList.add(people); peopleList.add(people); Gson gson = new Gson(); String jsonString = gson.toJson(peopleList); List<People> peoples = JsonUtil.parseJson(People.class, jsonString); for (People p : peoples) { System.out.println(p.getId()); System.out.println(p.getName()); System.out.println(p.getWeight()); System.out.println(p.getAge()); System.out.println("------------------------------"); }
发表评论
-
解决ScrollView中嵌套ListView或RecycleView卡顿问题
2016-01-20 02:23 1947解决问题:<listview上下滑动卡顿> 只要 ... -
解决Eclipse启动速度过慢的问题
2016-01-13 20:20 2505Delete the following directory: ... -
Android,iOS打开手机QQ与指定用户聊天界面
2016-01-07 18:19 1785在浏览器中可以通过JS代码打开QQ并弹出聊天界面,一般作为客服 ... -
Android Studio debug使用release的签名
2015-12-09 17:50 1277当我们在做微信微博sdk分享的时候调试非常麻烦,因为要使用对应 ... -
解决Android SDK Manager更新、下载速度慢
2015-10-12 16:39 644转自: [urlhttp://blog.163.com/bob ... -
android httpClient 支持HTTPS的2种处理方式
2015-09-11 17:37 1345http://my.oschina.net/blackylin ... -
带进度条的WebView
2015-08-29 16:53 626public class ProgressWebView ex ... -
Android中javascript和java互相调用
2015-08-29 16:06 618http://www.jb51.net/article/599 ... -
仿微信朋友圈点击图片变暗
2015-08-20 22:35 1033import android.content.Context; ... -
Android图片缓存框架Fresco极其强大的配置
2015-07-20 21:12 1326Android图片缓存框架Fresco极其强大的配置,配置强大 ... -
Android实现ViewPager+RadioGroup滑动效果
2015-07-19 15:05 1220有滚动标识的滑动条,顺畅无比哦 -
Android实现可用性非常高的滚动数字条
2015-07-18 15:48 5110对外提供接口,可以是调用并改变数字滚动条的样式 -
Java实现二维码生成和解析代码
2015-07-05 16:36 1067请下载附件,查看代码 -
利用zxing-core.jar生成和解析二维码
2015-07-05 15:30 1580Zxing是Google提供的关于条码(一维码、二维码)的解析 ... -
Android-webview和js脚本语言交互的时候怎么获取js方法的返回值
2015-07-02 12:10 2099http://zhidao.baidu.com/questio ... -
JS判断手机端是否安装了某个客户端APP应用
2015-05-15 17:02 3362最近在做项目的wap版,有个需求就是,先判断手机上是否有我们的 ... -
Android选图裁剪实现
2015-04-29 18:22 525看附件顶顶顶顶顶 -
Eclipse转AS必看设置
2015-04-26 00:01 1451常用设置: 1.Tab不用4个空格 Code Style-& ... -
android软键盘挤压界面的问题解决方法
2015-04-09 11:59 2851AndroidManifest.xml 中设置 android ... -
MultipleImagePick 从相册中选择图片,可以单选和多选。
2015-04-08 10:28 2112http://jcodecraeer.com/a/openso ...
相关推荐
JSONUtil工具类是Java开发中处理JSON数据的一种实用工具,它简化了JSON对象与Java对象之间的转换过程。在本文中,我们将深入探讨JSONUtil工具类的实现和使用方法,以及如何利用阿里巴巴的Fastjson库来增强JSON操作。...
JsonUtil工具类通常包含了处理JSON对象与Java对象之间转换的一系列方法。在描述中提到的“2个工具类”,可能是指JsonUtil类本身以及它可能依赖的辅助类。JsonUtil的主要功能包括将JSON字符串解析为Java对象,如...
JsonUtil json工具类 JsonUtil json工具类
JsonUtil工具类通常集成了这些库的功能,包括JSON对象与Java对象的相互转换,如序列化和反序列化,以及JSON字符串的解析和生成,使JSON操作更加简单。 5. **其他可能的工具类**: 除了上述的几个主要类别,这个...
Google json工具类,将java对象装换为json,支持泛型和任意类型
JSON jar包含源码及应用类JSONUtil,可以直接查看源码不用反编译,并且可以直接调用JSONUtil工具类进行,JSon字符串转换为JavaBean ,并可以把JavaBean转换为JSon字符串。
JSONUtil java工具类,快速方便读取JSON
例如,JsonUtil工具类提供了getObject4JsonString方法,可以将JSON字符串转换为Java对象。 ```java public static Object getObject4JsonString(String jsonString, Class pojoClass) { JSONObject jsonObject = ...
在 JsonUtil 工具类中,作者使用了 json-lib 库来将 JSON 字符串转换为 JSONObject 对象,然后使用 JSONObject 的 toBean 方法将 JSONObject 对象转换为 Java 对象。 在 Java 中,JSON 解析的重要性不言而喻。随着...
这通常意味着在Maven的pom.xml文件中添加相应的依赖,或者在不使用构建工具的情况下,手动将jar包放入类路径。 2. 配置Struts2的JSON插件:在struts.xml配置文件中,添加JSON插件的配置,以启用JSON支持。 ```xml ...
`JsonUtil` 是一个Java工具类,专门用来处理JSON数据,特别是将JSON对象数组转换为List类型,方便对数据进行进一步的操作。 在Java中,处理JSON数据通常需要借助第三方库,如Jackson、Gson或Fastjson等。这些库提供...
json工具类,基于com.google.code.gson封装的json转换工具类
JSONUtil是一个Java工具类,专门设计用于处理JSON数据,它提供了方便的方法将JSON字符串与Java对象之间进行转换,无需依赖其他外部jar包。本文将深入探讨JSONUtil的核心功能及其在实际开发中的应用。 首先,...
4. **JSON解析工具类**:如`JsonUtil`,用于解析JSON字符串到Java对象,或把Java对象转换成JSON格式,通常会利用Gson、Jackson或Fastjson等库。 5. **图片处理工具类**:可能包括图片的加载、缩放、裁剪、圆角处理...
8. **JsonUtil**: JSON解析工具类,可能基于Gson或Jackson库,用于JSON对象与Java对象之间的相互转换。在处理API数据或者本地存储JSON数据时,JsonUtil大大简化了数据处理过程。 9. **DialogUtil**: 对话框操作工具...
描述中提到的"还有一个JSONUtil工具类"可能是指一个自定义的工具类,封装了一些常见的JSON操作,如快速的序列化和反序列化,或者提供了额外的便利方法。这样的工具类可以简化开发过程,提高代码的可读性和复用性。 ...
- JSON解析工具类:如JsonUtil,提供JSON字符串与Java对象间的转换,如Gson或Jackson库的封装。 - 线程工具类:如ThreadUtil,包含线程创建、线程同步、线程睡眠等辅助方法。 - 验证码生成与验证工具类:用于生成...
《Hutool:Java基础工具类的全面解析》 在Java开发中,高效便捷的工具类库是提高开发效率和代码质量的关键。Hutool就是这样一款强大的Java基础工具类库,它对Java SDK中的众多功能进行了封装,为开发者提供了丰富的...
这里提到的`JsonUtil`可能是其中一个库的工具类,或者是一个自定义的工具类。这类工具类通常提供了一系列静态方法,方便开发者进行JSON与Java对象之间的相互转换。 1. **Jackson库**:Jackson是Java中最常用的JSON...