Gson(一)

来源:互联网 发布:淘宝保证金交30的条件 编辑:程序博客网 时间:2024/06/05 18:45

Gson(一)


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


Gson里最重要的对象有两个:Gson 和 GsonBuilder


Gson使用的两个基本方法:
- toJson() //将java对象转换成json字符串
- fromJson() //将json字符串转换成Java对象


Android开发中GSON库需要在项目中填加,编辑modul的build.gradle文件,在dependencies中添加compile ‘com.google.code.gson:gson:2.7’ 当还有更新的版本,这里还要注意插件与gradle版本兼容的问题。必要时可以更新gradle或者修改项目中classpath里的gradle的版本号。


toJson()方法

//将java对象生成json对象            private String generateJSONWithGson(Person person) {                Gson gson = new Gson();                List<Person> personList = new ArrayList<Person>();                personList.add(person);                personList.add(person);                String jsonStr = gson.toJson(personList);                return jsonStr;            }

fromJson()方法

//将json对象转化成java对象            private Person parseJSONWithGson(String jsonStr) {                Gson gson = new Gson();                //提供Json字符串变量str,还有需要转换的java对象类型        //        Person person = gson.fromJson(jsonStr, Person.class);                //解析JSON数组需要使用TypeToken将期望的类型传入fromJson中                List<Person> personList = gson.fromJson(jsonStr, new TypeToken<List<Person>>() {                }.getType());        //对于数组对象,我选择了如下展示,这个通过Android Monitor来监测到这个日志                for (Person person : personList) {                    Log.d("MainActivity", "age is " + person.getAge());                    Log.d("MainActivity", "name is " + person.getName());                }                return person;            }

另附日志结果:日志结果
从Json数据格式到对象,使用fromJson(),上述两种情况一种是传入单个类 如Person类型,另外是传入集合类型 如List() 。

0 0
原创粉丝点击