`
623deyingxiong
  • 浏览: 190384 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

gson对各种Java对象与json的转换的支持

    博客分类:
  • json
阅读更多
package com.test.json;

import java.util.ArrayList;
import java.util.List;

import com.google.gson.Gson;
import com.google.gson.annotations.SerializedName;
import com.google.gson.reflect.TypeToken;

public class GsonTest {
	public static void main(String[] args) {
		Gson gson = new Gson();

		Student s1 = new Student();
		Student s2 = new Student();

		List<Student> list = new ArrayList<Student>();
		list.add(s1);
		list.add(s2);

		Wrapper wrapper = new Wrapper();
		wrapper.setList(list);

		// bean -> json
		String jsonFromBean = gson.toJson(s1);
		String jsonFromList = gson.toJson(list);
		String jsonFromWrapper = gson.toJson(wrapper);

		System.out.println(jsonFromBean);
		System.out.println(jsonFromList);
		System.out.println(jsonFromWrapper);

		// json -> bean
		Student beanFromJson = gson.fromJson(jsonFromBean, Student.class);
		List<Student> listFromJson = gson.fromJson(jsonFromList,
				new TypeToken<List<Student>>() {
				}.getType());//这里有点小复杂
		Wrapper wrapperFromJson = gson.fromJson(jsonFromWrapper, Wrapper.class);

		System.out.println(beanFromJson);
		System.out.println(listFromJson);
		System.out.println(wrapperFromJson);
	}

}

class Student {
	@SerializedName("姓名")
	private String name = "+++";

	@SerializedName("性别")
	private String sex = "男";

	@Override
	public String toString() {
		return "Student [name=" + name + ", sex=" + sex + "]";
	}

}

class Wrapper {

	@SerializedName("学生列表")
	private List<Student> list;

	public void setList(List<Student> list) {
		this.list = list;
	}

	@Override
	public String toString() {
		return "Wrapper [list=" + list + "]";
	}

}

0
2
分享到:
评论
2 楼 623deyingxiong 2012-12-23  
kingpengzhen 写道
目前使用过protocalbuffer,这个gson的优点是什么呢?
json是自描述文本;gson是一个轻量型的转换工具。protocalbuffer没用过,上网查了一下,它不是自描述的,但转换后的数据量小,适合传输和大数据的缓存。
1 楼 kingpengzhen 2012-12-07  
目前使用过protocalbuffer,这个gson的优点是什么呢?

相关推荐

    gson java对象与json转换(实例代码说明及教程)

    《Gson:Java对象与JSON转换的实例代码详解及教程》 在Java开发中,数据交换格式JSON(JavaScript Object Notation)被广泛使用,而Gson库是Google提供的一款强大的工具,它允许开发者轻松地在Java对象和JSON数据...

    GSON包,JAVA对象和LIST转换成JSON字符串

    创建一个 Gson对象在调用其toJson方法将JAVA对象或集合转换成json字符串 Gson gson = new Gson(); String toJson = gson.toJson(Object o);

    gson 使用Gson将Java对象转换为JSON

    Gson是Google的一个开源项目,可以将Java对象转换成JSON,也可能将JSON转换成Java对象。 Gson里最重要的对象有2个Gson 和 GsonBuilder Gson有2个最基本的方法 1) toJson() – 转换java 对象到JSON 2) from...

    Gson对Java嵌套对象和JSON字符串之间的转换 ..pdf

    Gson是Google提供的一款强大的库,它能够方便地实现Java对象与JSON字符串之间的转换。本篇将详细介绍如何使用Gson处理Java中的嵌套对象和JSON字符串。 首先,理解JSON的基本结构。JSON是一种基于键值对的数据结构,...

    利用Google Gson实现JSON字符串和对象之间相互转换

    在实际项目中,Google Gson库提供了丰富的功能,可以满足大部分JSON转换需求。通过熟练掌握Gson的使用,开发者可以更高效地进行数据的序列化和反序列化操作。在`hsun_gson`这个压缩包文件中,可能包含了示例源码和...

    Java对象和JSON互转换利器-Gson

    Gson作为Java对象和JSON转换的利器,通过其强大的功能和简洁的API,简化了开发者在JSON数据处理中的工作。无论是基本类型还是复杂对象,Gson都能轻松应对,同时提供了自定义转换的灵活性,使得在实际项目中更加...

    gson 2.7 用于转换Java对象和Json对象

    1. **序列化与反序列化**:Gson库的主要任务是将Java对象转换成JSON字符串(序列化),以及将JSON字符串解析为对应的Java对象(反序列化)。例如,你可以通过`Gson().toJson()`方法将一个Java对象转换成JSON,同时...

    Json与java对象之间相互转换源码

    本篇文章将详细探讨这个过程,以及如何使用常见的Java JSON库,如Gson和Jackson,进行JSON与Java对象的转换。 首先,让我们了解JSON的基本结构。JSON格式通常包含键值对(key-value pairs)和数组。键值对以冒号...

    Java对象与Json之间的互相转换的jar包

    这个jar包可能包含了如Jackson、Gson、Fastjson等流行的Java JSON库,它们各自提供了丰富的API来方便开发者进行对象与JSON的转换。 1. Jackson:Jackson是Java社区中最常用的JSON处理库之一,由 FasterXML 维护。它...

    利用Gson.jar快速将对象类型转换为Json

    Gson是Google提供的一款强大的库,它允许我们轻松地将Java对象转换为JSON字符串,反之亦然。本文将深入探讨如何利用Gson.jar来实现对象到JSON的快速转换。 1. **Gson库介绍** Gson是Google提供的一个开源项目,它...

    gson 2.3.1 json转换利器

    Gson 2.3.1作为一款高效的JSON转换工具,其简洁的API和强大的功能使得在Java和Android项目中处理JSON数据变得简单。通过理解和熟练掌握Gson的用法,开发者可以更便捷地进行数据交换和存储,提升项目的开发效率。在...

    用于java对象与json对象间的相互转换(net.sf.json.JSONObject)

    是开源库Apache Commons的一个组件,提供了Java对象与JSON对象之间的转换功能。下面将详细阐述如何使用`JSONObject`进行JSON操作。 ### 1. 解析JSON字符串 当你从服务器获取或从文件读取到一个JSON字符串时,可以...

    Json转换利器Gson实例代码,java对象或者list转换为json字符串

    Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,或者反过来。 java对象或者list转换为json字符串

    GSON 对象与json之间的转换

    Gson是Google提供的一个Java库,它能够将Java对象转换为JSON字符串,反之亦然。本文将深入探讨Gson库在对象与JSON之间的转换过程中所涉及的知识点。 ### 一、Gson简介 Gson库的核心功能是通过`Gson`类来实现Java...

    Java四大json库gson+fastjson+jackson+json-lib

    Fastjson提供了简单直观的API,使得JSON与Java对象之间的转换变得异常简便。此外,它还支持JSON到Java对象的映射,以及JSON到XML的转换,适合于大量数据处理和性能敏感的应用场景。 3. Jackson: Jackson是另一个...

    java对象转Json 需要用到的所有包

    总的来说,这个压缩包可能包含了用于Java对象到JSON转换的必备库,无论是Jackson还是Gson,它们都能帮助开发者高效地完成JSON数据的处理。根据你的项目需求和团队偏好,选择合适的库并正确引入这些jar包,就可以方便...

    JSON与JAVA对象之间的转换

    - Gson的API简洁明了,适合简单的JSON转换需求。 - Jackson提供了更丰富的功能,如模块化、流处理、数据绑定等,对于大数据处理和复杂场景更为适用。 - 在性能方面,Jackson通常优于Gson,特别是在处理大量数据时。 ...

    java 对象与json字符串互相转换工具类

    在Java开发中,数据交换和存储经常涉及到对象与JSON字符串之间的转换。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。Java提供了多种库来实现对象与...

    Java对象和Json对象互转采购的Gson方式所需要的jar包

    在Java开发中,数据交换和持久化经常涉及对象与JSON(JavaScript Object Notation)格式之间的转换。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。Gson库是由Google提供的一个Java...

    使用GSON库转换Java对象为JSON对象的进阶实例详解

    GSON(Google JSON)是Google提供的一个用于在Java对象和JSON数据之间进行转换的库。GSON能够将Java对象序列化为JSON字符串,也能将JSON字符串反序列化为Java对象。这个库在处理JSON数据时非常方便,特别是当需要在...

Global site tag (gtag.js) - Google Analytics