gson java对象与json转换(实例代码说明及教程)

java对象转json

    public class MsgInfo2 {  
        private String message;   
        private String flag;  
        public String getMessage() {  
            return message;  
        }  
        public void setMessage(String message) {  
            this.message = message;  
        }  
        public String getFlag() {  
            return flag;  
        }  
        public void setFlag(String flag) {  
            this.flag = flag;  
        }   

    }  

    public class Test1 {  

        public static void main(String[] args) {  
            MsgInfo2 m2 = new MsgInfo2();  
            m2.setFlag("00");  
            m2.setMessage("message");  
            tojson(m2);  

            String json = "{'message':'message1','flag':'00'}";  
            toObject(json);  
        }  

        public static void tojson(MsgInfo2 m) {  
            // 将对象编译成json  
            Gson gson = new Gson();  
            String result = gson.toJson(m);  
            System.out.println(result);  
            // 输出:{"message":"message","flag":"00"}  
        }  

        public static void toObject(String m) {  
            // 将json编译成对象  
            Gson gson = new Gson();  
            MsgInfo2 msg = gson.fromJson(m, MsgInfo2.class);  
            System.out.println(msg.getFlag());//输出:00  
            System.out.println(msg.getMessage());//输出:message1  
        }  
    }  

json转java对象

json的结构如下:

{
      "org":     {
          "orgId": "orgId",
          "orgName": "orgName"
      },
      "biz":     [
                  {
              "appcode": 55,

              "subscode": "subscode0"
          },
                  {
              "appcode": 66,
              "subscode": "subscode1"
          }
      ]
  }
    public class ComOpen {  
        private Org org;  
        private List<BizObject> biz;  
        public Org getOrg() {  
            return org;  
        }  
        public void setOrg(Org org) {  
            this.org = org;  
        }  
        public List<BizObject> getBiz() {  
            return biz;  
        }  
        public void setBiz(List<BizObject> biz) {  
            this.biz = biz;  
        }  
    }  

    public class Org {  
        private String orgId;  
        private String orgName;  
        public String getOrgId() {  
            return orgId;  
        }  
        public void setOrgId(String orgId) {  
            this.orgId = orgId;  
        }  
        public String getOrgName() {  
            return orgName;  
        }  
        public void setOrgName(String orgName) {  
            this.orgName = orgName;  
        }  
    }  

    public class BizObject {  
        private int appcode;  
        private String subscode;  
        public String getSubscode() {  
            return subscode;  
        }  
        public void setSubscode(String subscode) {  
            this.subscode = subscode;  
        }  
        public int getAppcode() {  
            return appcode;  
        }  
        public void setAppcode(int appcode) {  
            this.appcode = appcode;  
        }  
    }  

    /** 
     * 测试java对象和json转换 
     * 
     * @author yangliang 
     * @version 1.0 
     * @created 2011-10-11 下午03:14:04 
     * @history  
     * @see 
     */  
    public class Test2 {  
        public static void main(String[] args) {  
            toJson();  
            toObject();  
        }  
        public static void toJson(){  
            ComOpen como = new ComOpen();  
            Org org = new Org();  
            org.setOrgId("orgId");  
            org.setOrgName("orgName");  
            como.setOrg(org);  
            List<BizObject> biz = new ArrayList<BizObject>();  
            BizObject bizObject = new BizObject();   
            bizObject.setAppcode(55);  
            bizObject.setSubscode("subscode0");  
            BizObject bizObject1 = new BizObject();   
            bizObject1.setAppcode(66);  
            bizObject1.setSubscode("subscode1");  
            biz.add(bizObject);  
            biz.add(bizObject1);  
            como.setBiz(biz);  
            Gson gson=new GsonBuilder().create();  
            String result = gson.toJson(como);  
            System.out.println(result);  
            //输出{"org":{"orgId":"orgId","orgName":"orgName"},"biz":接下行  
            //[{"appcode":55,"subscode":"subscode0"},{"appcode":66,"subscode":"subscode1"}]}  
        }  

        public static void toObject(){  
            String json = "{'org':{'orgId':'orgId','orgName':'orgName'},'biz':" +  
             "[{'appcode':55,'subscode':'subscode0'},{'appcode':66,'subscode':'subscode1'}]}";  
            Gson gson=new Gson();  
            ComOpen  m3 = gson.fromJson(json, ComOpen.class);  
            System.out.println(m3.getBiz().size());//2  
            System.out.println("orgId:"+m3.getOrg().getOrgId());//orgId:orgId  
            System.out.println("appcode:"+ m3.getBiz().get(0).getAppcode());//appcode:55  
        }  
    }  

Gson使用中遇到的Date格式问题:
http://rednaxelafx.iteye.com/blog/788306

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Gson是Google的一个开源项目,可以将Java对象转换JSON,也可能将JSON转换Java对象Gson里最重要的对象有2个GsonGsonBuilder Gson有2个最基本的方法 1) toJson() – 转换java 对象JSON 2) fromJson() – 转换JSONjava对象 下面是几个小例子 1. toJson() example Java 代码 收藏代码 1. class TestObjectToJson { 2. private int data1 = 100; 3. private String data2 = "hello"; 4. } 5. 6. TestObjectToJson obj = new TestObjectToJson(); 7. Gson gson = new Gson(); 8. String json = gson.toJson(obj); class TestObjectToJson { private int data1 = 100; private String data2 = "hello"; } TestObjectToJson obj = new TestObjectToJson(); Gson gson = new Gson(); String json = gson.toJson(obj); 会输出 {"data1":100,"data2":"hello"} 2. fromJson() example Java 代码 收藏代码 1. import com.google.gson.Gson; 2. 3. class TestJsonFromObject { 4. private int data1; 5. private String data2; 6. } 7. 8. String json = "{'data1':100,'data2':'hello'}"; 9. Gson gson = new Gson(); 10. TestJsonFromObject obj = gson.fromJson(json, TestJsonFromObject.class); import com.google.gson.Gson; class TestJsonFromObject { private int data1; private String data2; } String json = "{'data1':100,'data2':'hello'}"; Gson gson = new Gson(); TestJsonFromObject obj = gson.fromJson(json, TestJsonFromObject.class); 3. 将Java对象的属性转换成指定的JSON名字 Java 代码 收藏代码 1. import com.google.gson.FieldNamingPolicy; 2. import com.google.gson.Gson; 3. import com.google.gson.GsonBuilder; 4. import com.google.gson.annotations.SerializedName; 5. 6. public class TestGson { 7. 8. @SerializedName("first_field") 9. private String field1; 10. 11. private String secondField; 12. 13. public TestGson(String param1, String param2) { 14. field1 = param1; 15. secondField = param2; 16. } 17. } 18. 19. TestGson obj = new TestGson("aaaa", "bbbbb"); 20. Gson gson = new Gson

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值