• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Java Json APIGson使用入门

武飞扬头像
51CTO
帮助0

GSON是Google开发的Java API,用于转换Java对象和Json对象。本文讨论并提供了使用API的简单代码示例。更多关于GSON的API可以访问:http://sites.谷歌.com/site/gson/.

[[148338]]

本文是GSON系列文章的***篇。本文是其他文章的基础,因此不需要任何GSON或JSON经验。第二篇文章提供了关于GSON反序列化(从JSON到Java)的示例,第三篇文章提供了关于GSON序列化(从Java到JSON)的示例。

下面列出的所有代码都可以在https://java-creed-examples.谷歌code.com/svn/gson/Simple Gson Example. 找到。绝大部分示例都不会包含全部的代码,可能会忽略一些片段,这些片段都与讨论的示例无关。读者可以从上面的链接下载或查阅所有代码。

读者需要有基础的Java(教程)知识和很基础的Maven(首页)知识。这里展示的代码使用maven来下载GSON库。把项目导入到Springsource Tool Suite(推荐的IDE),无需任何配置。

下载与安装

在使用GSON API工作之前,你需要下载库(jar文件),并将其包含到类路径中。库,连同源代码和Java文档,都可以从http://code.谷歌.com/p/谷歌-gson/downloads/list下载。下载完毕后,添加gson-<version>.jar到类路径。对于那些偏好使用Maven管理依赖(JAR文件)的读者,添加如下依赖到pom.xml。

  1. <dependency> 
  2.     <groupId>com.谷歌.code.gson</groupId> 
  3.     <artifactId>gson</artifactId> 
  4.     <version>2.2.4</version> 
  5. </dependency> 

需要修改 <version>2.2.4</version>。本文所有代码示例使用上面列出的版本。pom.xml文件拷贝可以在这里找到。

如果这个库用于web应用,请确保在WEB-INF/lib文件夹中保持一份拷贝。或者,GSON库可以放到应用服务器提供给web应用。

一个简单示例

GSON API提供一个类文件,Gson(Java文档),它被用来处理Java和JSON对象的转换。可以调用默认构造器,或如下代码的形式,使用GsonBuilder(Java文档)类创建这个类的实例。GsonBuilder类是可定制化的,并且允许开发者按需实例化Gson。

  1. package com.javacreed.examples.gson.part1; 
  2.  
  3. import com.谷歌.gson.Gson; 
  4. import com.谷歌.gson.GsonBuilder; 
  5.  
  6. public class SimpleExample1 { 
  7.     public static void main(String[] args) { 
  8.         Gson gson = new GsonBuilder().create(); 
  9.         gson.toJson("Hello", System.out); 
  10.         gson.toJson(123, System.out); 
  11.     } 

在上面的例子中,我们创建了一个Gson实例,并把Java String和int转化为JSON对象。以上代码命令行里的输出结果如下:

"Hello"123

这不是火箭科学,但它是一个开始。注意,上述的结果都将输入到命令行。该toJason()方法有两个参数,Java对象转换为JSON和可追加(Java的文档)的一个实例。我们可以很容易地改变了一个文件或网络流。

  1. package com.javacreed.examples.gson.part1; 
  2.  
  3. import java.io.FileWriter; 
  4. import java.io.IOException; 
  5. import java.io.Writer; 
  6. import com.谷歌.gson.Gson; 
  7. import com.谷歌.gson.GsonBuilder; 
  8.  
  9. public class SimpleExample2 { 
  10.     public static void main(String[] args) throws IOException { 
  11.         Writer writer = new FileWriter("Output.json"); 
  12.  
  13.         Gson gson = new GsonBuilder().create(); 
  14.         gson.toJson("Hello", writer); 
  15.         gson.toJson(123, writer); 
  16.  
  17.         writer.close(); 
  18.     } 

注意

为什么变量声明为Writer类型,而实际类型是FileWriter?

尽量使用泛型是一个很好的方法。在上例中,我们只使用了Appendable和Writer接口定义的方法。使用泛型使代码更易于移植和维护,下面是个不好的例子。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /news/detail/tanhbfekaa
系列文章
更多 icon
同类精品
更多 icon
继续加载