`
lalanicer
  • 浏览: 30108 次
社区版块
存档分类
最新评论

gson java对象与json转换

    博客分类:
  • java
阅读更多

 

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

Gson里最重要的对象有2个Gson 和 GsonBuilder。

Gson有2个最基本的方法

1) toJson() – 转换java 对象到JSON

2) fromJson() – 转换JSON到java对象

二. 几个简单的例子。

 exp1(一个简单对象object和json之间的转换):

Java代码   收藏代码
  1. public class MsgInfo2 {  
  2.     private String message;   
  3.     private String flag;  
  4.     public String getMessage() {  
  5.         return message;  
  6.     }  
  7.     public void setMessage(String message) {  
  8.         this.message = message;  
  9.     }  
  10.     public String getFlag() {  
  11.         return flag;  
  12.     }  
  13.     public void setFlag(String flag) {  
  14.         this.flag = flag;  
  15.     }   
  16.       
  17. }  
  18.   
  19. public class Test1 {  
  20.   
  21.     public static void main(String[] args) {  
  22.         MsgInfo2 m2 = new MsgInfo2();  
  23.         m2.setFlag("00");  
  24.         m2.setMessage("message");  
  25.         tojson(m2);  
  26.           
  27.         String json = "{'message':'message1','flag':'00'}";  
  28.         toObject(json);  
  29.     }  
  30.   
  31.     public static void tojson(MsgInfo2 m) {  
  32.         // 将对象编译成json  
  33.         Gson gson = new Gson();  
  34.         String result = gson.toJson(m);  
  35.         System.out.println(result);  
  36.         // 输出:{"message":"message","flag":"00"}  
  37.     }  
  38.   
  39.     public static void toObject(String m) {  
  40.         // 将json编译成对象  
  41.         Gson gson = new Gson();  
  42.         MsgInfo2 msg = gson.fromJson(m, MsgInfo2.class);  
  43.         System.out.println(msg.getFlag());//输出:00  
  44.         System.out.println(msg.getMessage());//输出:message1  
  45.     }  
  46. }  

 exp2(一个复杂对象object和json之间的转换):

json的结构如下:

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

              "subscode": "subscode0"
          },
                  {
              "appcode": 66,
              "subscode": "subscode1"
          }
      ]
  }

Java代码   收藏代码
  1. public class ComOpen {  
  2.     private Org org;  
  3.     private List<BizObject> biz;  
  4.     public Org getOrg() {  
  5.         return org;  
  6.     }  
  7.     public void setOrg(Org org) {  
  8.         this.org = org;  
  9.     }  
  10.     public List<BizObject> getBiz() {  
  11.         return biz;  
  12.     }  
  13.     public void setBiz(List<BizObject> biz) {  
  14.         this.biz = biz;  
  15.     }  
  16. }  
  17.   
  18. public class Org {  
  19.     private String orgId;  
  20.     private String orgName;  
  21.     public String getOrgId() {  
  22.         return orgId;  
  23.     }  
  24.     public void setOrgId(String orgId) {  
  25.         this.orgId = orgId;  
  26.     }  
  27.     public String getOrgName() {  
  28.         return orgName;  
  29.     }  
  30.     public void setOrgName(String orgName) {  
  31.         this.orgName = orgName;  
  32.     }  
  33. }  
  34.   
  35. public class BizObject {  
  36.     private int appcode;  
  37.     private String subscode;  
  38.     public String getSubscode() {  
  39.         return subscode;  
  40.     }  
  41.     public void setSubscode(String subscode) {  
  42.         this.subscode = subscode;  
  43.     }  
  44.     public int getAppcode() {  
  45.         return appcode;  
  46.     }  
  47.     public void setAppcode(int appcode) {  
  48.         this.appcode = appcode;  
  49.     }  
  50. }  
  51.   
  52. /** 
  53.  * 测试java对象和json转换 
  54.  * 
  55.  * @author yangliang 
  56.  * @version 1.0 
  57.  * @created 2011-10-11 下午03:14:04 
  58.  * @history  
  59.  * @see 
  60.  */  
  61. public class Test2 {  
  62.     public static void main(String[] args) {  
  63.         toJson();  
  64.         toObject();  
  65.     }  
  66.     public static void toJson(){  
  67.         ComOpen como = new ComOpen();  
  68.         Org org = new Org();  
  69.         org.setOrgId("orgId");  
  70.         org.setOrgName("orgName");  
  71.         como.setOrg(org);  
  72.         List<BizObject> biz = new ArrayList<BizObject>();  
  73.         BizObject bizObject = new BizObject();   
  74.         bizObject.setAppcode(55);  
  75.         bizObject.setSubscode("subscode0");  
  76.         BizObject bizObject1 = new BizObject();   
  77.         bizObject1.setAppcode(66);  
  78.         bizObject1.setSubscode("subscode1");  
  79.         biz.add(bizObject);  
  80.         biz.add(bizObject1);  
  81.         como.setBiz(biz);  
  82.         Gson gson=new GsonBuilder().create();  
  83.         String result = gson.toJson(como);  
  84.         System.out.println(result);  
  85.         //输出{"org":{"orgId":"orgId","orgName":"orgName"},"biz":接下行  
  86.         //[{"appcode":55,"subscode":"subscode0"},{"appcode":66,"subscode":"subscode1"}]}  
  87.     }  
  88.       
  89.     public static void toObject(){  
  90.         String json = "{'org':{'orgId':'orgId','orgName':'orgName'},'biz':" +  
  91.          "[{'appcode':55,'subscode':'subscode0'},{'appcode':66,'subscode':'subscode1'}]}";  
  92.         Gson gson=new Gson();  
  93.         ComOpen  m3 = gson.fromJson(json, ComOpen.class);  
  94.         System.out.println(m3.getBiz().size());//2  
  95.         System.out.println("orgId:"+m3.getOrg().getOrgId());//orgId:orgId  
  96.         System.out.println("appcode:"+ m3.getBiz().get(0).getAppcode());//appcode:55  
  97.     }  
  98. }  

 三.其他可参考gson教程和官方帮助文档

分享到:
评论

相关推荐

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

    《Gson:Java对象与JSON转换的实例代码详解及教程》 在Java开发中,数据交换格式JSON(JavaScript Object Notation)被广泛使用,而Gson库是Google提供的一款强大的工具,它允许开发者轻松地在Java对象和JSON数据...

    利用Google Gson实现JSON字符串和对象之间相互转换

    本文将详细介绍如何利用Google Gson库进行JSON字符串与对象之间的相互转换。 首先,我们需要了解Gson的核心概念。Gson库通过`Gson`类来实现JSON与Java对象的转换。当你有一个Java对象并想将其转化为JSON字符串时,...

    gson 使用Gson将Java对象转换为JSON

    Gson是Google的一个开源项目,可以将Java对象转换成JSON,也可能将JSON转换成Java对象。 Gson里最重要的对象有2个Gson 和 GsonBuilder Gson有2个最基本的方法 1) toJson() – 转换java 对象到JSON 2) from...

    GSON包,JAVA对象和LIST转换成JSON字符串

    创建一个 Gson对象在调用其toJson方法将JAVA对象或集合转换成json字符串 Gson gson = new Gson(); String toJson = gson.toJson(Object o);

    Java对象和JSON互转换利器-Gson

    Gson作为Java对象和JSON转换的利器,通过其强大的功能和简洁的API,简化了开发者在JSON数据处理中的工作。无论是基本类型还是复杂对象,Gson都能轻松应对,同时提供了自定义转换的灵活性,使得在实际项目中更加...

    Java对象与Json之间的互相转换的jar包

    这个jar包可能包含了如Jackson、Gson、Fastjson等流行的Java JSON库,它们各自提供了丰富的API来方便开发者进行对象与JSON的转换。 1. Jackson:Jackson是Java社区中最常用的JSON处理库之一,由 FasterXML 维护。它...

    使用gson,java对象和json字符串之间相互转化

    Gson是Google提供的一个开源库,它允许我们在Java对象和JSON字符串之间进行无缝转换。本文将深入探讨如何使用Gson库进行这种转化操作。 首先,我们需要引入Gson库。如果你使用Maven,可以在pom.xml文件中添加以下...

    Json与java对象之间相互转换源码

    本篇文章将详细探讨这个过程,以及如何使用常见的Java JSON库,如Gson和Jackson,进行JSON与Java对象的转换。 首先,让我们了解JSON的基本结构。JSON格式通常包含键值对(key-value pairs)和数组。键值对以冒号...

    Gson解析复杂Json实例,超简单

    在Android开发中,数据交换和存储经常涉及到JSON格式的数据。...只需简单几步,就可以将JSON转换为易于处理的Java对象,极大地提高了开发效率。在实际项目中,合理利用Gson能让你的代码更加简洁、高效。

    使用Google的Gson实现对象和json字符串之间的转换

    1. **对象到JSON转换**: 要将Java对象转换为JSON字符串,你需要创建一个Gson实例,然后调用`toJson()`方法。例如,假设我们有一个简单的User类: ```java public class User { private String name; private ...

    java对象转JSON

    1.一款将java对象转成json或是将json转成java对象的jar文件; 2.在网上找了半天才找到,希望大家共享; 3.使用方法,大家在网上随便找,很多,很简单,一看便会; 4.此包在eclipse中和AndroidStudio中都可以用,但是,你如果...

    GSON 对象与json之间的转换

    Gson是Google提供的一个Java库,它能够将Java对象转换为JSON字符串,反之亦然。本文将深入探讨Gson库在对象与JSON之间的转换过程中所涉及的知识点。 ### 一、Gson简介 Gson库的核心功能是通过`Gson`类来实现Java...

    gson 2.7 用于转换Java对象和Json对象

    1. **序列化与反序列化**:Gson库的主要任务是将Java对象转换成JSON字符串(序列化),以及将JSON字符串解析为对应的Java对象(反序列化)。例如,你可以通过`Gson().toJson()`方法将一个Java对象转换成JSON,同时...

    java对象转Json 需要用到的所有包

    总的来说,这个压缩包可能包含了用于Java对象到JSON转换的必备库,无论是Jackson还是Gson,它们都能帮助开发者高效地完成JSON数据的处理。根据你的项目需求和团队偏好,选择合适的库并正确引入这些jar包,就可以方便...

    利用Gson.jar快速将对象类型转换为Json

    Gson是Google提供的一款强大的库,它允许我们轻松地将Java对象转换为JSON字符串,反之亦然。本文将深入探讨如何利用Gson.jar来实现对象到JSON的快速转换。 1. **Gson库介绍** Gson是Google提供的一个开源项目,它...

    GSON相关头文件与json的解析库

    GSON是Google开发的一个Java库,它允许将Java对象转换为JSON字符串,以及将JSON内容反序列化为等效的Java对象。这个库因其高效和全面的功能而备受青睐。 标题"“GSON相关头文件与json的解析库”"暗示我们将探讨GSON...

    Java对象和Json对象互转采购的Gson方式所需要的jar包

    在Java开发中,数据交换和持久化经常涉及对象与JSON(JavaScript Object Notation)格式之间的转换。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。Gson库是由Google提供的一个Java...

    用于java对象与json对象间的相互转换(net.sf.json.JSONObject)

    `fromObject`方法将Java对象转换为`JSONObject`,然后调用`toString()`将其转化为JSON字符串。 ### 进阶使用 - **处理嵌套结构**:`JSONObject`也支持嵌套结构,即JSON对象内包含其他JSON对象或数组。可以通过递归...

    GSON解析复杂的JSON数组 - CSDN博客1

    总结来说,GSON库通过toJson()和fromJson()方法为开发者提供了便捷的JSON数据与Java对象之间的转换功能,无论数据结构多么复杂,只要正确地定义了Java实体类,都能轻松应对。在处理如上示例中的JSON数组时,GSON的...

    【Gson+fastjson】json转换工具

    在Java开发中,为了方便地进行JSON与Java对象之间的转换,我们常常会使用到Gson和Fastjson这两个库。 **Gson库** Gson是Google提供的一款开源库,它能够将Java对象转换为JSON字符串,同时也能够将JSON内容反序列...

Global site tag (gtag.js) - Google Analytics