使用Gson解析JSON数据
本文使用gson对json进行解析处理
首先,下载gson包 ,本文使用(gson-1.6.jar)
package com.whroid.java.json; import com.google.gson.Gson; public class GsonUtil { /**
* 将json字符串转换成对象。需要保证json中的key和对象的属性名以及属性一致
* @param json
* @param cls
* @return
*/
public static Object json2Object(String json,Class cls) {
Object obj = null;
try {
Gson gson = new Gson();
obj = gson.fromJson(json, cls);
} catch (Exception e) {
obj = new Object();
} return obj;
} /**
* 将对象转换成json字符串
* @param object
* @return
*/
public static String object2JsonString(Object object) {
if(object == null){
return "";
}
Gson gson = new Gson();
return gson.toJson(object).toString();
} }
添加实例对象JSONBean(可以不设置getter()/setter()方法,但必须保证属性名和类型一致)
package com.whroid.java.json; import java.util.ArrayList;
import java.util.List; public class JSONBean { private String name = "name";
private int id = 1;
private List<String> list = new ArrayList<String>();
private boolean b;
SubBean subBean = new SubBean(); @Override
public String toString() {
return "JSONBean [name=" + name + ", id=" + id + ", list=" + list
+ ", b=" + b + ", subBean=" + subBean + "]";
} }
class SubBean{
String subname = "subname"; @Override
public String toString() {
return "SubBean [subname=" + subname + "]";
} }
调用介绍
public static void main(String[] args) { JSONBean bean = new JSONBean();
String gson = GsonUtil.object2JsonString(bean);
System.out.println("gson:"+gson);
bean = (JSONBean) GsonUtil.json2Object(gson, JSONBean.class);
System.out.println("bean:"+bean); }
返回结果:
gson:{"name":"name","id":1,"list":[],"b":false,"subBean":{"subname":"subname"}}
//使用解析gson返回的数据,进行对象实例
bean:JSONBean [name=name, id=1, list=[], b=false, subBean=SubBean [subname=subname]]
使用Gson解析JSON数据的更多相关文章
- Android中使用Gson解析JSON数据的两种方法
Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率;本文将介绍两种方法解析JSON数据,需要的朋友可以参考下 Json是一种类似于XML的通用数据交换格式,具有比XML更高的 ...
- Android网络之数据解析----使用Google Gson解析Json数据
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- Google Gson解析Json数据应用实例
转自:http://lixigao449778967.blog.163.com/blog/static/24985164201269105928783/ 1.需要的Jar包 1) Google Gso ...
- Android中使用Gson解析JSON数据
Android中使用Gson解析JSON数据 在Android中可以使用Gson解析JSON数据 首先,从 code.google.com/p/google-gson/downloads/list ...
- JAVA使用Gson解析json数据,实例
封装类Attribute: public class Attribute { private int id; private String name; private int age; public ...
- 通过Gson解析Json数据
Json是一种数据格式,便于数据传输.存储.交换:Gson是一种组件库,可以把java对象数据转换成json数据格式. gson.jar的下载地址:http://search.maven.org/#s ...
- 我的Android进阶之旅------>解决Jackson、Gson解析Json数据时,Json数据中的Key为Java关键字时解析为null的问题
1.问题描述 首先,需要解析的Json数据类似于下面的格式,但是包含了Java关键字abstract: { ret: 0, msg: "normal return.", news: ...
- android 初步了解应用Gson 解析Json数据
1,因为没有服务器返回数据,对于Tomcat又懒得去配,所以我直接把数据写死到app中 先写一个实体类,便于操作 /** * 实体类 */ public class Person { int id ; ...
- Gson解析json数据(转)
一. www.json.org这是JSON的官方网站. 首先,我,我们需要在code.google.com/p/google-gson/downloads/list下载JSON的jar包,解析后把gs ...
随机推荐
- CSS中padding、margin两个重要属性的详细介绍及举例说明
http://www.x6x8.com/IT/199.html 本文将讲述HTML和CSS的关键—盒子模型(Box model). 理解Box model的关键便是margin和padding属性, ...
- .net 实现的上传下载,如果是图片就显示上传的图片
HTML: <div> <input id="fileUpload" type="file" runat="server" ...
- uva 1601 poj 3523 Morning after holloween 万圣节后的早晨 (经典搜索,双向bfs+预处理优化+状态压缩位运算)
这题数据大容易TLE 优化:预处理, 可以先枚举出5^3的状态然后判断合不合法,但是由于题目说了有很多墙壁,实际上没有那么多要转移的状态那么可以把底图抽出来,然后3个ghost在上面跑到时候就不必判断 ...
- 常用的ement语法
缩写语法: 介绍:Emmet 使用类似于 CSS 选择器的语法描述元素在生成的文档树中的位置及其属性. 声明:第一次写博客大家多多关照,如有错误或者需要补充的请到评论里留言,谢谢大家! 快速生成htm ...
- Linux curl命令中,HTTP 302处理
在Linux中使用curl命令时,偶尔会遇到一些URL跳转到新的URL,即HTTP中的3XX(redirection,重定向 ). $curl -s -I $URL > log 这时在返回的报文 ...
- 【SAM】loj#6401. 字符串
网上有篇题解写的是线段树合并维护求值? 题目描述 有一个只包含小写字母,长度为 $n$ 的字符串 $S$ .有一些字母是好的,剩下的是坏的. 定义一个子串 $S_{l\ldots r}$是好的,当且仅 ...
- 【二分 最小割】cf808F. Card Game
Digital collectible card games have become very popular recently. So Vova decided to try one of thes ...
- JDBC-防止SQL注入问题
String sql = "select * from user where name = '" + name + "' and password = '" ...
- Ajax请求出现406的原因
一般出现406错误有两种可能: 1.如果后缀是html是不能响应json数据的.需要修改后缀名. 在做伪静态化过程中,以.html结尾的后缀,做post请求时,不能响应json格式,这是spring官 ...
- python--字符编码理解
一.字符编码简史: 美国:1963年 ASCII (包含127个字符 占1个字节) 中国:1980年 GB2312 (收录7445个汉字,包括6763个汉字和682个其它符号) 1993年 GB13 ...