Gson把Java POJO和Json数据字符串之间相互转换

Gson把Java POJO和Json数据字符串之间相互转换

例如:

        POJO pojo = new POJO();
        pojo.name = "zhangphil";
        pojo.id = 1;
        pojo.strings = new ArrayList<>();
        pojo.setBlog("zhangphil @ csdn");

        for (int i = 0; i < 10; i++) {
            pojo.strings.add(String.valueOf(i));
        }

        Gson gson = new Gson();
        String s = gson.toJson(pojo);
        Log.d("POJO转换为Json字符串", s);

        POJO pojo2 = gson.fromJson(s, POJO.class);
        Log.d("Json字符串转换为POJO", pojo2.name + " , " + pojo2.id + " , " + pojo2.getBlog() + " , " + pojo2.strings.size());

POJO:

   private class POJO {
        public String name;
        public int id;
        public ArrayList<String> strings;

        //私有变量也可以,但是要写好get和set方法
        private String blog;

        public void setBlog(String blog) {
            this.blog = blog;
        }

        public String getBlog() {
            return blog;
        }
    }



    private class POJO {
        public String name;
        public int id;
        public ArrayList<String> strings;

        //私有变量也可以,但是要写好get和set方法
        private String blog;

        public void setBlog(String blog) {
            this.blog = blog;
        }

        public String getBlog() {
            return blog;
        }
    }


利用POJO和Json字符串之间可以相互转换的便利,可以在Android的Activity以及Fragment在跳转时候传递数据。传给Bundle或Intent字符串,然后用Gson恢复出来POJO。

猜你喜欢

转载自blog.csdn.net/zhangphil/article/details/80004082