zoukankan      html  css  js  c++  java
  • Gson使用初探

    参考地址:

    http://www.stormzhang.com/android/2014/05/22/android-gson/

    我的示例代码:

    public void doGsonTest(View view) {
            //参考文档 http://www.stormzhang.com/android/2014/05/22/android-gson/
            Log.d("lsl","doGsonTest");
            
            String JSON_DATA = "{"id": 101,"body": "It is my post","number": 0.13,"created_at": "2014-05-22 19:12:38"}";
            Foo foo = new Gson().fromJson(JSON_DATA, Foo.class);
            LogUtil.d("lsl","id="+foo.id+"body="+foo.body+"number="+foo.number+"created_at="+foo.created_at);
            
            
            GsonBuilder gsonBuilder = new GsonBuilder();
            gsonBuilder.setDateFormat("yyyy-MM-dd");
            Gson gson = gsonBuilder.create();
            foo = gson.fromJson(JSON_DATA, Foo.class);
            LogUtil.d("lsl","id="+foo.id+"body="+foo.body+"number="+foo.number+"created_at="+foo.created_at);
            
            JSON_DATA = "[{"id": 102,"body": "It is my post","number": 0.13,"created_at": "2014-05-22 19:12:38"},{"id": 103,"body": "It is my post","number": 0.13,"created_at": "2014-05-22 19:12:38"}]";
            Foo[] foos = new Gson().fromJson(JSON_DATA, Foo[].class);
            List<Foo> foosList = Arrays.asList(foos);
            for(Foo vo : foosList){
                LogUtil.d("lsl","id="+vo.id+"body="+vo.body+"number="+vo.number+"created_at="+vo.created_at);
            }
            LogUtil.d("lsl","============merchandiose=============");
            JSON_DATA = "{"op_type": 10002,"code": "0","msg": "success","data":[{"id": 104,"name": "apple","kind_name": "food","price": 0.13,"created_at": "2014-05-22 19:12:38"},{"id": 105,"name": "orange","kind_name": "food","price": 0.13,"created_at": "2014-05-22 19:12:38"}]}";
            MechandiseListModel mObj = new Gson().fromJson(JSON_DATA, MechandiseListModel.class);
            LogUtil.d("lsl","op_type="+mObj.op_type
                    +"code="+mObj.code
                    +"msg="+mObj.msg
                    );
            List<Mechandise> mList = mObj.data;
            for(Mechandise m : mList){
                LogUtil.d("lsl","" +
                        "id="+m.id+"name="+m.name+"kind_name="+m.kind_name+
                        "price="+m.price+"created_at="+m.created_at
                        );
            }
        }
        public class MechandiseListModel {
            public int op_type;
            public int code;
            public String msg;
            List<Mechandise> data;
        }
        public class Mechandise {
            public int id;
            public String name;
            public String kind_name;
            public float price;
            public String created_at;
        }
        
        
        public class Foo {
            public int id;
            public String body;
            public float number;
            public String created_at;
        }
    现主要从事PHP、Uinx/Linux、C/C++等方面的项目开发。
  • 相关阅读:
    暑假第一周总结
    洛谷P3378 【模板】堆 题解 堆(Heap)入门题
    洛谷P2170 选学霸 题解 并查集+01背包
    洛谷P1433 吃奶酪 题解 状态压缩DP
    洛谷P2835 刻录光盘 题解 点的度数+并查集
    洛谷P1991 无线通讯网 题解 并查集+二分答案
    洛谷P4185 [USACO18JAN]MooTube G 题解 并查集
    洛谷P4145 上帝造题的七分钟2 / 花神游历各国 题解 线段树+懒惰标记
    洛谷P2658 汽车拉力比赛 题解 二分答案+搜索
    洛谷P1546 最短网络 Agri-Net 题解 最小生成树/Prim算法
  • 原文地址:https://www.cnblogs.com/lsl8966/p/4425431.html
Copyright © 2011-2022 走看看