<pre>比如一个User对象,我想要一个框架可以直接转换成{id:1001,name='张三'} </pre>
<pre>就目前来看,Google的GSON组件不错,而且支持 JDK5 的泛型。
地址:<a href="http://code.google.com/p/google-gson/">http://code.google.com/p/google-gson/</a>
User 用户类:
public class User {
@Expose
private Long id;
@Expose
private String name;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
// 测试 JavaBean 的转换
public class Test {
public static void main(String[] args) {
User user = new User();
user.setId(1001L);
user.setName("张三");
GsonBuilder builder = new GsonBuilder();
// 不转换没有 @Expose 注解的字段
builder.excludeFieldsWithoutExposeAnnotation();
Gson gson = builder.create();
String sUser = gson.toJson(user);
System.out.println(sUser);
// {"id":1001,"name":"张三"}
// 将JSON字符串转换为 JavaBean
User user2 = gson.fromJson(sUser, User.class);
System.out.println(user2.getId() + ", " + user2.getName());
// 1001, 张三
}
}
// 测试 HashMap 的转换
public class MapTest {
public static void main(String[] args) {
User user1 = new User();
user1.setId(1001L);
user1.setName("张三");
User user2 = new User();
user2.setId(1002L);
user2.setName("李四");
Map userMap = new HashMap();
userMap.put("user1", user1);
userMap.put("user2", user2);
GsonBuilder builder = new GsonBuilder();
// 不转换没有 @Expose 注解的字段
builder.excludeFieldsWithoutExposeAnnotation();
Gson gson = builder.create();
String sUserMap = gson.toJson(user, new TypeToken>(){}.getType());
System.out.println(sUserMap);
// {"user1":{"id":1001,"name":"张三"},"user2":{"id":1002,"name":"李四"}}
// 将JSON字符串转换为 HashMap
Map userMap2 = (Map)gson.fromJson(sUser, new TypeToken>(){}.getType());
System.out.println(userMap2.get("user1").getName());
// 张三
}
}
当然 GSON的JSON解析设置还不止这些,还有版本的注解、更改字段名称的注解等等。
上面给的网址上有具体的开发文档,和详细的例子。
如今 GSON 已被很多公司所采用,方便快捷。Google就是比较强大。&
分享到:
相关推荐
Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,或者反过来。 Json转换利器Gson之实例一-简单对象转化和带泛型的List转化 ...
包含以下java源文件: ...com.google.gson.JsonNull.class com.google.gson.JsonObject.class com.google.gson.JsonParseException.class com.google.gson.JsonParser.class com.google.gson.JsonPrimitive.class ...
Gson是Google的一个开源项目,可以将Java对象转换成JSON,也可能将JSON转换成Java对象。 Gson里最重要的对象有2个Gson 和 GsonBuilder Gson有2个最基本的方法 1) toJson() – 转换java 对象到JSON 2) from...
谷歌开源json解析库GSON接口jar包,可以方便的将java对象转化为json字符串,也可以将json字符串转化为jave对象
google json: gson
GSON是Google制作的一个可以让Java对象与JSON互相转换的类库,下面我们就来看一下Java的JSON转换库GSON的基本使用方法示例:
Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,或者反过来。 java对象或者list转换为json字符串
被大多数开发者所使用的java操作json的类库,成熟,简单。
GSON是谷歌开源的一款Java对象与JSON对象互相转换的类库,Java的JSON转换类库GSON的基础使用教程,需要的朋友可以参考下
基于Google的json数据处理工具,它能够很好的完成由对象到json数据,以及从json数据到java Object的轻松转换
google-json-gson-master,google的jsonjar包,提供json方法。
由谷歌提供的Json解析工具,便于使用,而且其中有一些写好的使用示例。是最新的发布版,注意其中使用了JAVA9的新特性——模块,所以请注意自己的JDK版本,若是Java9之前的版本请勿下。
gson2.7 下载即可使用 GSON是Google开发的Java API,用于转换Java对象和Json对象
json解析,用于传递打包成json格式的数据,便于分离和传输。
Gson是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库。可以将一个JSON字符串转成一个Java对象(反序列化),或者反过来(序列化)。 GSON地址:google/gson (github.com) Android引入GSON: ...
GSON是谷歌在GitHub上开源的Java的JSON格式转换类库,能够实现Java对象向JSON的序列和反序列,这里我们就来举例讲解Java的JSON类库GSON的基本用法:
Gson jar包,2.8版本。最好用且强大的java json包,没有之一.Google出品
Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Gson 对象,或者反之。
基于googleGson的Json工具类,支持List,Object与Json互转,简单易用,Java与Android通用
gson.jar是Google开发的Java API,用于转换Java对象和Json对象,被用来处理Java和JSON对象的转换,可以调用默认构造器,给大家提供的是最新的gson-2.7.jar,有需要的赶快下载吧!