一. Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,或者反过来。
Gson里最重要的对象有2个Gson 和 GsonBuilder。
Gson有2个最基本的方法
1) toJson() – 转换java 对象到JSON
2) fromJson() – 转换JSON到java对象
二. 几个简单的例子。
exp1(一个简单对象object和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) {
-
- Gson gson = new Gson();
- String result = gson.toJson(m);
- System.out.println(result);
-
- }
-
- public static void toObject(String m) {
-
- Gson gson = new Gson();
- MsgInfo2 msg = gson.fromJson(m, MsgInfo2.class);
- System.out.println(msg.getFlag());
- System.out.println(msg.getMessage());
- }
- }
exp2(一个复杂对象object和json之间的转换):
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;
- }
- }
-
-
-
-
-
-
-
-
-
-
- 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);
-
-
- }
-
- 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());
- System.out.println("orgId:"+m3.getOrg().getOrgId());
- System.out.println("appcode:"+ m3.getBiz().get(0).getAppcode());
- }
- }
三.其他可参考gson教程和官方帮助文档
分享到:
相关推荐
《Gson:Java对象与JSON转换的实例代码详解及教程》 在Java开发中,数据交换格式JSON(JavaScript Object Notation)被广泛使用,而Gson库是Google提供的一款强大的工具,它允许开发者轻松地在Java对象和JSON数据...
本文将详细介绍如何利用Google Gson库进行JSON字符串与对象之间的相互转换。 首先,我们需要了解Gson的核心概念。Gson库通过`Gson`类来实现JSON与Java对象的转换。当你有一个Java对象并想将其转化为JSON字符串时,...
Gson是Google的一个开源项目,可以将Java对象转换成JSON,也可能将JSON转换成Java对象。 Gson里最重要的对象有2个Gson 和 GsonBuilder Gson有2个最基本的方法 1) toJson() – 转换java 对象到JSON 2) from...
创建一个 Gson对象在调用其toJson方法将JAVA对象或集合转换成json字符串 Gson gson = new Gson(); String toJson = gson.toJson(Object o);
Gson作为Java对象和JSON转换的利器,通过其强大的功能和简洁的API,简化了开发者在JSON数据处理中的工作。无论是基本类型还是复杂对象,Gson都能轻松应对,同时提供了自定义转换的灵活性,使得在实际项目中更加...
这个jar包可能包含了如Jackson、Gson、Fastjson等流行的Java JSON库,它们各自提供了丰富的API来方便开发者进行对象与JSON的转换。 1. Jackson:Jackson是Java社区中最常用的JSON处理库之一,由 FasterXML 维护。它...
Gson是Google提供的一个开源库,它允许我们在Java对象和JSON字符串之间进行无缝转换。本文将深入探讨如何使用Gson库进行这种转化操作。 首先,我们需要引入Gson库。如果你使用Maven,可以在pom.xml文件中添加以下...
本篇文章将详细探讨这个过程,以及如何使用常见的Java JSON库,如Gson和Jackson,进行JSON与Java对象的转换。 首先,让我们了解JSON的基本结构。JSON格式通常包含键值对(key-value pairs)和数组。键值对以冒号...
在Android开发中,数据交换和存储经常涉及到JSON格式的数据。...只需简单几步,就可以将JSON转换为易于处理的Java对象,极大地提高了开发效率。在实际项目中,合理利用Gson能让你的代码更加简洁、高效。
1. **对象到JSON转换**: 要将Java对象转换为JSON字符串,你需要创建一个Gson实例,然后调用`toJson()`方法。例如,假设我们有一个简单的User类: ```java public class User { private String name; private ...
1.一款将java对象转成json或是将json转成java对象的jar文件; 2.在网上找了半天才找到,希望大家共享; 3.使用方法,大家在网上随便找,很多,很简单,一看便会; 4.此包在eclipse中和AndroidStudio中都可以用,但是,你如果...
Gson是Google提供的一个Java库,它能够将Java对象转换为JSON字符串,反之亦然。本文将深入探讨Gson库在对象与JSON之间的转换过程中所涉及的知识点。 ### 一、Gson简介 Gson库的核心功能是通过`Gson`类来实现Java...
1. **序列化与反序列化**:Gson库的主要任务是将Java对象转换成JSON字符串(序列化),以及将JSON字符串解析为对应的Java对象(反序列化)。例如,你可以通过`Gson().toJson()`方法将一个Java对象转换成JSON,同时...
总的来说,这个压缩包可能包含了用于Java对象到JSON转换的必备库,无论是Jackson还是Gson,它们都能帮助开发者高效地完成JSON数据的处理。根据你的项目需求和团队偏好,选择合适的库并正确引入这些jar包,就可以方便...
Gson是Google提供的一款强大的库,它允许我们轻松地将Java对象转换为JSON字符串,反之亦然。本文将深入探讨如何利用Gson.jar来实现对象到JSON的快速转换。 1. **Gson库介绍** Gson是Google提供的一个开源项目,它...
GSON是Google开发的一个Java库,它允许将Java对象转换为JSON字符串,以及将JSON内容反序列化为等效的Java对象。这个库因其高效和全面的功能而备受青睐。 标题"“GSON相关头文件与json的解析库”"暗示我们将探讨GSON...
在Java开发中,数据交换和持久化经常涉及对象与JSON(JavaScript Object Notation)格式之间的转换。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。Gson库是由Google提供的一个Java...
`fromObject`方法将Java对象转换为`JSONObject`,然后调用`toString()`将其转化为JSON字符串。 ### 进阶使用 - **处理嵌套结构**:`JSONObject`也支持嵌套结构,即JSON对象内包含其他JSON对象或数组。可以通过递归...
总结来说,GSON库通过toJson()和fromJson()方法为开发者提供了便捷的JSON数据与Java对象之间的转换功能,无论数据结构多么复杂,只要正确地定义了Java实体类,都能轻松应对。在处理如上示例中的JSON数组时,GSON的...
在Java开发中,为了方便地进行JSON与Java对象之间的转换,我们常常会使用到Gson和Fastjson这两个库。 **Gson库** Gson是Google提供的一款开源库,它能够将Java对象转换为JSON字符串,同时也能够将JSON内容反序列...