Gson 专题详解 之一 简单的对象转化json和json转成对象

来源:互联网 发布:java的两年职业规划 编辑:程序博客网 时间:2024/05/22 08:28

前段时间在做一个android项目的时间,用到很多关于Json字符串解析的问题,后来在网上找到GSON这个库,发现非常的好用,这段时间基本上都是在用这个库来解析字符串的问题。用的还是挺熟练的。现在项目完了,趁着年底就把Gson的用法和详情写在这里,让大家可以一睹反馈。(有demo的哦!)


Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,反过来也可以将一个java对象转换成一个JSON字符串。

关于GSOn的库包:http://download.csdn.net/detail/x492098273/8403759

(简单)示例代码:

Gson gson = new Gson();       //实例化Gson

//要转成字符串的对象(数组也是对象哦,这个我就不多说了)

int[] ints = {1, 2, 3, 4, 5};

String[] strings = {"abc", "def", "ghi"};

// 转变成字符串以后
gson.toJson(ints);     =转变成字符串后=>  [1,2,3,4,5]

gson.toJson(strings);  =转变成字符串后=> ["abc", "def", "ghi"]


  以上的简单例子只是GSON强大之中的九牛一毛而已,解析来我会详细的将GSON能用到的情况都详细的介绍给你们的!!!

1:简单的对象转变字符串和Json转对象。

/** * 定义一个实体类(封装people对象) * @author Administrator * */public class People{String name;String age;String sex;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}
<pre name="code" class="java">
<span style="white-space:pre"></span>public static void main(String[] args) {//简单的单个对象转变JsonGson gson=new Gson();//实例化Gson工具People p=new People();//实例化一个对象p.setName("张三");p.setAge("24");p.setSex("男");//将设置好参数的people转变成字符串System.out.println("p.toString:"+p.toString());//这种并非是JSon格式的(只是转成String格式而已)System.out.println("gson.toJSon(p):"+gson.toJson(p));//转成JSon格式}
<span style="white-space:pre"></span>
</pre>//运行结果如下。<pre name="code" class="java">p.toString:People [name=张三, age=24, sex=男]gson.toJSon(p):{"name":"张三","age":"24","sex":"男"}

转成的Json字符串(这边给一个验证字符串是否是JSon格式的网站 http://www.bejson.com/index.php

同样通过Gson也可以将转成成Json的字符串转变成对象

String sp=gson.toJson(p);People ps=gson.fromJson(sp, People.class);
System.out.println("\n将json转成对象\n"+ps.getName()+"\n"+ps.getAge()+"\n"+ps.getSex());
//运行结果

将json转成对象张三24男
<span style="white-space:pre"></span>

以上是便是关于对象转变成json简单例子。

demo:下载地址:










0 0