首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

应用google gson

2012-06-29 
使用google gson? ?google gson?是一个可以把java类映射到json的开源类库。比起org.json实现的json类库更加

使用google gson

? ?google gson?是一个可以把java类映射到json的开源类库。比起org.json实现的json类库更加方便功能也丰富多了。记录一下。

? ?google gson的使用方法很简单使用Gson类的方法toJson将java对象序列化为json字符串,fromJson反序列化json字符串为java对象.

? ?常用到的功能:

? ?a,只序列化需要的数据

? ? ??直接实例化Gson类序列化java中的类为json字符串,类里面的所有变量都会json序列化。

? ? ? 避免这种情况的做法是使用@Expose标识要json序列号的变量,通过GsonBuilder调用excludeFieldsWithoutExposeAnnotation方法指明只序列化有Expose标识的变量.

?

? ?b,序列化变量别名

? ? ?在变量前标识 @SerializedName("别名")即可

?

? ?下面是一个贴代码

? ?public class Person {

    @Expose    @SerializedName("Name")    public String name;        @Expose    public int age;        @Expose    public char sex;    private int other=11;        public Person(String name,int age,char sex){this.name =name;this.age= age;this.sex=sex;    }    @Override    public String toString() {return "name="+name+", age="+age+", sex="+sex+", other="+other;    }}
?

? ?调用

?

        GsonBuilder gb=new GsonBuilder() ;        gb.excludeFieldsWithoutExposeAnnotation();        Gson gson =gb.create();                Person person = new Person("name", 18,'B');        String str= gson.toJson(person);        Log.d("GsonActivity", "toJson--"+str);                Person person2= gson.fromJson(str, Person.class);        Log.d("GsonActivity", "fromJson--"+person2.toString());

热点排行