json与javaBean的序列化与反序列化(待续...)

来源:互联网 发布:rf1800软件下载 编辑:程序博客网 时间:2024/06/02 04:34

GSON是Google开发的Java API,用于转换Java对象和Json对象。
转载自:http://www.importnew.com/16630.html
另外,以注解方式序列化与反序列化http://blog.csdn.net/lk_blog/article/details/7685169

简单的例子

package com.javacreed.examples.gson.part1;public class Book {  private String[] authors;  private String isbn10;  private String isbn13;  private String title;  // Methods removed for brevity}

普通的gson.toGson(json)可能会出现如下:

{  "title": "Java Puzzlers: Traps, Pitfalls, and Corner Cases",  "isbn-10": "032133678X",  "isbn-13": "978-0321336781",  "authors": [    "Joshua Bloch",    "Neal Gafter"  ]}

为了避免可用两种方法:
1.使用注解。Gson 注解示例
2.使用JsonSerialiser 。Serialiser示例,如下:

package com.javacreed.examples.gson.part1;import java.lang.reflect.Type;import com.google.gson.JsonArray;import com.google.gson.JsonElement;import com.google.gson.JsonObject;import com.google.gson.JsonPrimitive;import com.google.gson.JsonSerializationContext;import com.google.gson.JsonSerializer;public class BookSerialiser implements JsonSerializer {    @Override    public JsonElement serialize(final Book book, final Type typeOfSrc, final JsonSerializationContext context) {        final JsonObject jsonObject = new JsonObject();        //The serialisation code is missing        return jsonObject;    }}

JsonSerializer 接口要求类型是将要进行序列化的对象类型。在这个例子中,我们要序列化的 Java 对象是 Book。serialize()方法的返回类型必须是一个 JsonElement (Java 文档)类型的实例。下面列出了JsonElement 四种具体实现类型:

  • JsonPrimitive (Java Doc) —— 例如一个字符串或整型
  • JsonObject (Java Doc) —— 一个以 JsonElement 名字(类型为 String)作为索引的集合。类似于 Map
0 0
原创粉丝点击