`
Josh_Persistence
  • 浏览: 1650031 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类

Google GSON应用 - gson进行日期转换及解析数组

阅读更多

以下是相关伪代码

1. 构建Gson对象的时候指定相关的日期格式:

private static Gson gson = new GsonBuilder().registerTypeAdapter(Date.class,
   new UtilDateSerializer()).registerTypeAdapter(Calendar.class,
   new UtilCalendarSerializer()).registerTypeAdapter(GregorianCalendar.class,
   new UtilCalendarSerializer())
   .setDateFormat(DateFormat.LONG).setPrettyPrinting()
   .create();

 2. 将Object转换为Json String

 public static String bean2json(Object bean) {
      return gson.toJson(bean);
 }

 

 3. 将Json转换为Object

 public static <T> T json2bean(String json, Type type) {
      return gson.fromJson(json, type);
 }

 

4.1、日期处理(Date)

private static class DateSerializerUtil implements   JsonSerializer<Date>,JsonDeserializer<Date> {

  @Override
  public JsonElement serialize(Date date, Type type,
    JsonSerializationContext context) {
   return new JsonPrimitive(date.getTime());
  }
  
  @Override
  public Date deserialize(JsonElement element, Type type, JsonDeserializationContext context)
    throws JsonParseException {
   return new Date(element.getAsJsonPrimitive().getAsLong());
  }

 }
 
 

 

4.2、日期处理(Calendar)

private static class DateSerializerUtil2 implements JsonSerializer<Calendar>,JsonDeserializer<Calendar> {

  @Override
  public JsonElement serialize(Calendar cal, Type type,
    JsonSerializationContext context) {
   return new JsonPrimitive(Long.valueOf(cal.getTimeInMillis()));
  }

  @Override
  public Calendar deserialize(JsonElement element, Type type,
    JsonDeserializationContext context) throws JsonParseException {
   Calendar cal = Calendar.getInstance();
   cal.setTimeInMillis(element.getAsJsonPrimitive().getAsLong());
   return cal;
  }
  
 }

 

 

 5、解析Json 数组型的字符串

 

 
 JsonArray jsonarray = new JsonParser().parse(jsonOrXmlData).getAsJsonArray("TopAds");
   for (int i = 0; i < jsonarray.size(); i++) {
             JsonObject obj = jsonarray.get(i).getAsJsonObject();
             System.out.println(obj.get("HeadLine"));
         }

 

0
0
分享到:
评论

相关推荐

    Gson-2.8.2 官方jar包合集【gson-2.8.2.jar,gson-2.8.2-sources.jar】

    Gson是Google开发的一款强大的Java库,用于将Java对象转换为JSON字符串,以及将JSON数据反序列化回等效的Java对象。这个压缩包包含了Gson的2.8.2版本,提供了三个重要的组成部分:`gson-2.8.2.jar`、`gson-2.8.2-...

    google-gson-2.2.2-release

    这个"google-gson-2.2.2-release"压缩包包含三个关键组件:gson-2.2.2.jar(核心库),gson-2.2.2-javadoc.jar(API文档)和gson-2.2.2-sources.jar(源代码)。这些资源为开发者提供了全面的支持,以便在项目中轻松...

    google-gson-2.2.4.zip

    谷歌的Gson库是Java开发人员用来在JSON和Java对象之间进行序列化和反序列化的强大工具。这个"google-gson-2.2.4.zip"压缩包包含了Gson库的2.2.4版本,这是一个广泛使用的稳定版本,适用于各种项目需求。Gson库允许...

    gson-2.8.6.jar

    Gson是Google开发的一个Java库,用于在Java对象和JSON数据之间进行映射。这个库使得Java对象可以被转换为JSON字符串,同时也可以将JSON文本解析回等效的Java对象。Gson-2.8.6.jar是这个库的特定版本,其中包含了所有...

    google-gson-2.1 jar包 + 使用教程.pdf

    谷歌的Gson库是Java开发中的一个强大工具,它允许开发者将Java对象转换为JSON格式的字符串,同时也能将JSON数据解析回等效的Java对象。这个“google-gson-2.1.jar”包包含了Gson库的版本2.1,这是一个稳定且广泛使用...

    google-gson-2.2.4

    在处理集合和数组时,Gson会自动将其元素转换为相应的JSON数组或对象。 在序列化过程中,Gson提供了`@Expose`注解,用于指定哪些字段应该参与序列化和反序列化。另外,`@SerializedName`注解可以重命名JSON键,以便...

    google-gson-2.2.4.jar及多种示例代码

    谷歌的Gson库是一个强大的Java库,用于将Java对象转换为JSON格式的字符串,反之亦然。这个"google-gson-2.2.4.jar"是Gson库的一个特定版本,发布于2014年,它包含了丰富的功能,允许开发者在Java应用程序中方便地...

    gson-2.8.5三个jar包

    Gson是Google开发的一款开源Java库,用于在Java对象和JSON数据之间进行映射。它使得Java对象可以被转换为JSON格式的字符串,同时也可以将JSON文本解析为等效的Java对象,极大地简化了Java应用程序与JSON之间的交互。...

    Gson的2.2.4jar

    Gson是Google推出的一款强大的Java库,主要用于在Java对象与JSON数据之间进行相互转换。它的全称是Google Simple JSON,自2008年发布以来,已经成为了Java开发者处理JSON数据的一个常用工具,尤其是在Android开发中...

    google-gson-1.7.1-release

    1. 简洁高效:Gson转换速度快,代码简洁,减少了手动解析的工作量。 2. 动态性:JSON格式灵活,适合动态数据结构,而XML结构相对固定。 3. 内存占用:相对于XML解析,Gson通常占用更少的内存。 五、Gson在Android中...

    gson-2.8.6.rar

    Gson是Google开发的一款Java库,它能够将Java对象转换为JSON字符串,同时也能将JSON内容解析回等效的Java对象。在Android开发中,Gson库被广泛使用,因为它的功能强大且易于使用,极大地简化了JSON数据的处理工作。 ...

    gson-2.8.6.jar下载

    gson-2.8.6.jar下载,gson是Google开发的一款优秀的Java JSON解析库。它可以将Java对象转换成JSON字符串,也可以将JSON字符串转换成Java对象。gson库简单易用,性能良好,所以很受欢迎,被广泛应用于Android和Java项目中...

    google-gson-2.1-release

    谷歌的Gson库是Java开发中的一个强大工具,主要用于JSON数据和Java对象之间的相互转换。在标题"google-gson-2.1-release"中,我们可以理解这是Gson库的一个特定版本,即2.1版的发布。这个版本可能包含了一些性能优化...

    gson-2.8.0(包括sources和javadoc)

    Gson是Google开发的一款强大的Java库,用于在Java对象和JSON数据之间进行映射。它使得Java对象可以轻松地转换为JSON格式,并且能够将JSON数据解析回等效的Java对象。在本压缩包中,包含了gson-2.8.0版本的三个重要...

    Google的json数据转换的jar包gson-2.2.4

    Gson是Google提供的一款强大的Java库,用于在Java对象和JSON数据之间进行映射。它的全称为Google Gson,版本号为2.2.4。这个版本的Gson库包含了三个jar包,分别是: 1. `gson-2.2.4.jar`:这是Gson的核心库,包含了...

    gson-2.8-6.jar

    Gson是Google开发的一款Java库,用于在Java对象和JSON数据之间进行映射。这个库使得Java对象可以被转换为JSON字符串,同时也可以将JSON文本解析回等效的Java对象。在给定的压缩包文件中,包含了多个Gson的不同版本,...

    gson-2.2.4.jar

    Gson是Google提供的一款强大的Java库,用于在Java对象和JSON数据之间进行映射。它的全名是Google Simple JSON,其主要功能是帮助开发者轻松地将Java对象转换为JSON字符串,以及将JSON文本反序列化回等效的Java对象。...

    最新gson jar包+源码+文档 gson-2.3.1.jar

    Gson是Google开发的一款强大的Java库,用于在Java对象和JSON数据之间进行映射。它使得Java对象可以被转换为JSON格式的字符串,同时也可以将JSON格式的数据转换回相应的Java对象。Gson-2.3.1是这个库的一个版本,发布...

    gson-2_8_5.zip

    Gson是Google开发的一个Java库,它能够将Java对象转换为JSON字符串,同时也能将JSON内容解析回等效的Java对象。标题中的"gson-2_8_5.zip"指的是这个库的2.8.5版本被压缩成的ZIP文件。这个版本的Gson包含了几个重要的...

Global site tag (gtag.js) - Google Analytics