Gson(一)

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() 。

发布了30 篇原创文章 · 获赞 5 · 访问量 7685

猜你喜欢

转载自blog.csdn.net/c0586/article/details/54975909