使用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 ...
随机推荐
- JavaScript_4_数据类型
1. JavaScript对大小写敏感. 2. JavaScript是脚本语言.浏览器会在读取代码时,逐行地执行脚本代码.而对于传统编程来说,会在执行前对所有代码进行编译. 3. 变量什么用var, ...
- C、C++、C#中struct的简单比较
比较这三者是因为C.C++.C#这三者存在着一定的血缘关系,而他们三者都有的struct却有很大的不同. 功能 C中的struct是最简单的.只能有成员变量而不能有成员函数. C++和C#中都支持,而 ...
- Codeforces Round #321 (Div. 2) B. Kefa and Company (尺取)
排序以后枚举尾部.尺取,头部单调,维护一下就好. 排序O(nlogn),枚举O(n) #include<bits/stdc++.h> using namespace std; typede ...
- python_100_静态方法
class Dog(object): def __init__(self,name): self.name=name @staticmethod#实际上跟类没什么关系了 def eat():#def ...
- js生成指定范围内随机数
其现方法的核心是JavaScript的Math对象.代码如下: <!DOCTYPE html> <html lang="en"> <head> ...
- JavaScript -- 内置对象数组
数组 创建数组的基本方式有两种: 1.使用 Array构造函数 语法:new Array() 小括号( )说明: (1)预先知道数组要保存的项目数量 (2)向Array构造函数中传递数组应包含的项 2 ...
- [BZOJ] 1907: 树的路径覆盖
一个点必然被路径覆盖,根据是否为路径的端点分类 \(f[x][0]\)表示以\(x\)为根的子树,\(x\)不为端点的最小路径覆盖数 \(f[x][1]\)表示以\(x\)为根的子树,\(x\)为一条 ...
- 收集的免费API接口
1.IP地址调用接口 这是淘宝的IP调用API http://ip.taobao.com/service/getIpInfo.php?ip=$ip 返回值:{"code":0,&q ...
- linux 安装elasticsearch
一.检测是否已经安装的elasticsearch ps aux|grep elasticsearch. 二.下载elasticsearch.tar.gz并上传至服务器usr/local/文件夹下 三. ...
- LeetCode(44) Wildcard Matching
题目 Implement wildcard pattern matching with support for '?' and '*'. '?' Matches any single characte ...