JsonObject和Gson详解
参考文件:http://www.cnblogs.com/xwdreamer/archive/2011/12/16/2296904.html
一、JsonObject
1.JAR包简介
要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包:
- commons-lang.jar
- commons-beanutils.jar
- commons-collections.jar
- commons-logging.jar
- ezmorph.jar
- json-lib-2.4-jdk15.jar
- json-lib-2.4-jdk15-javadoc.jar
- json-lib-2.4-jdk15-sources.jar
2.JSONObject对象使用
JSON-lib包是一个beans,collections,maps,java arrays 和XML和JSON互相转换的包。在本例中,我们将使用JSONObject类创建JSONObject对象,然后我们打印这些对象的值。为了使用JSONObject对象,我们要引入"net.sf.json"包。为了给对象添加元素,我们要使用put()方法。
- public static User getUserFromJson(String json) {
- User user = new User();
- try {
- JSONObject obj = JSONObject.fromObject(json);
- user.setUserId(obj.getInt(Tables.User.Fields.USERID));
- user.setAccount(obj.getString(Tables.User.Fields.ACCOUNT));
- user.setPassword(obj.getString(Tables.User.Fields.PASSWORD));
- user.setGender(obj.getInt(Tables.User.Fields.GENDER));
- user.setPermission(obj.getInt(Tables.User.Fields.PERMISSION));
- user.setName(obj.getString(Tables.User.Fields.NAME));
- user.setRemark(obj.getString(Tables.User.Fields.REMARK));
- user.setContact(obj.getString(Tables.User.Fields.CONTACT));
- return user;
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- return null;
- }
二、Gson处理Json格式数据
1.Object to json格式
- public String getAllVideosByJson() throws Exception {
- List<Video> videos = service.getAllVideos();
- StringBuilder sb = new StringBuilder();
- //Gson gson = new Gson();
- Gson gson = new Gson();
- String result = gson.toJson(videos);
- return result;
- }
2.json格式的字符串变为Video对象
- public static List<Video> getJSONAllVideos_2() throws Exception {
- String path = "http://192.168.2.107:8080/VideoWeb/VideoServlet?format=json&type=get";
- URL url = new URL(path);
- HttpURLConnection conn = (HttpURLConnection) url.openConnection();
- conn.setReadTimeout(5 * 1000);
- conn.setRequestMethod("GET");
- InputStream inStream = conn.getInputStream();
- byte[] data = StreamTool.readInputStream(inStream);
- String json = new String(data);
- Type typeList = new TypeToken<ArrayList<Video>>() {
- }.getType();
- Gson gson = new Gson();
- ArrayList<Video> videos = gson.fromJson(json, typeList);
- return videos;
- }
JsonObject和Gson详解的更多相关文章
- JSONObject使用方法详解
1.JSONObject介绍 JSONObject-lib包是一个beans,collections,maps,java arrays和xml和JSON互相转换的包. 2.下载jar包 http:// ...
- 浅谈Android项目----JSON解析(4种解析技术详解)
json简介 1.概念:json全称是javaScript object Notation,是一种并轻量级的数据交换格式. 2.特点: 1.本质就是具有特定格式的字符串 2.json完全独立于编程语言 ...
- JAVA中的四种JSON解析方式详解
JAVA中的四种JSON解析方式详解 我们在日常开发中少不了和JSON数据打交道,那么我们来看看JAVA中常用的JSON解析方式. 1.JSON官方 脱离框架使用 2.GSON 3.FastJSON ...
- 搜索引擎框架之ElasticSearch基础详解(非原创)
文章大纲 一.搜索引擎框架基础介绍二.ElasticSearch的简介三.ElasticSearch安装(Windows版本)四.ElasticSearch操作客户端工具--Kibana五.ES的常用 ...
- 『动善时』JMeter基础 — 31、JMeter中BeanShell断言详解
目录 1.BeanShell简介 2.Beanshell的内置变量和方法 3.BeanShell断言界面详解 4.BeanShell断言的使用 (1)测试计划内包含的元件 (2)登陆接口请求界面内容 ...
- Android 网络框架之Retrofit2使用详解及从源码中解析原理
就目前来说Retrofit2使用的已相当的广泛,那么我们先来了解下两个问题: 1 . 什么是Retrofit? Retrofit是针对于Android/Java的.基于okHttp的.一种轻量级且安全 ...
- Android proguard 详解
本文转载于:http://blog.csdn.net/banketree/article/details/41928175 简介 Java代码是非常容易反编译的.为了很好的保护Java源代码,我们往往 ...
- Java构造和解析Json数据的两种方法详解二
在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面接着介绍用org.json构造和解析Jso ...
- Android中实现java与PHP服务器(基于新浪云免费云平台)http通信详解
Android中实现java与PHP服务器(基于新浪云免费云平台)http通信详解 (本文转自: http://blog.csdn.net/yinhaide/article/details/44756 ...
随机推荐
- python类里面使用装饰器
参考:http://m.blog.csdn.net/blog/wklken/8118942 def on(name, *args_of_on, **kwargs_of_on): def handle_ ...
- ksoap2调用webservice传递参数丢失
参数有顺序要求,顺序设置正确即可.
- 【Android】Android消息处理机制
三大核心类 android的消息处理有三个核心类:Looper,Handler和Message. 其实还有一个Message Queue(消息队列),但是MQ被封装到Looper里面了 Looper ...
- vue2.0如何自定义全局变量的方法
方法一:http://www.jianshu.com/p/04dffe7a6b74 //在mian.js中写入函数 Vue.prototype.changeData = function (){ al ...
- 【神经网络】LSTM 网络
Long Short Term 网络—— 一般就叫做 LSTM ——是一种 RNN 特殊的类型,可以学习长期依赖信息.LSTM 由Hochreiter & Schmidhuber (199 ...
- 【机器学习】粗糙集属性约简算法与mRMR算法的本质区别
1. 粗糙集属性约简算法仅仅选出属性重要度大的条件加入约减中,没有考虑约简中条件属性相互之间的冗余性,得到的约简往往不是都必要的,即含有冗余属性. 2. mRMR算法则除了考虑特征与类别之间的相关性, ...
- Redis之 命令行 操作
一.key pattern 查询相应的key (1)redis允许模糊查询key 有3个通配符 *.?.[] (2)randomkey:返回随机key (3)type key:返回key存储的类型 ...
- CentIOS PHP 扩展库
1.GD库 yum -y install php-gd
- [转]PowerDesigner中name和code取消自动关联
PowerDesigner中,但修改了某个字段的name,其code也跟着修改,这个问题很讨厌,因为一般来说,name是中文的,code是字段名. 解决方法如下: 1.选择Tools->Gene ...
- 引用Interop.SQLDMO.dll后的注意事项。
SQLDMO.dll是个好东西,ASP.NET利用它可以实现在线备份.还原数据库等各种功能.近日有客户要求为其在后台添加一个管理数据库的功能.于是就出现了这篇文章. 由于客户的数据库和WEB服 ...