`

java利器F Json之Gson(一)

    博客分类:
  • java
 
阅读更多

今天学习下java里,对json数据的处理,之前了解过,但是,sun公司之前的一个jar包好像对此确实支持的不够。经了解常用的有gson,jkson这2套技术。今天就抽空学习下gson.

前提环境:

       1.导入gson-2.2.2.jar;

       2.jdk1.6

       3.java bean:Address.java,Student.java

package com.wds.json;

import java.io.Serializable;

public class Address implements Serializable{
	private String country;
	private String province;
	private String city;
	private String area;
	private String street;
	private String no;
	
	public Address() {
		super();
	}
	public Address(String city, String area, String street, String no) {
		super();
		this.city = city;
		this.area = area;
		this.street = street;
		this.no = no;
	}
	public Address(String country, String province, String city, String area,
			String street, String no) {
		super();
		this.country = country;
		this.province = province;
		this.city = city;
		this.area = area;
		this.street = street;
		this.no = no;
	}
	//setter/getter
}

 Student.java

package com.wds.json;

import java.io.Serializable;
import java.util.Date;

public class Student implements Serializable{
	private int id;
	private double height;
	private String name;
	private Date birth;
	private boolean ismarried;
	private Address address;
	
	public Student() {
		super();
	}
	public Student(String name, Date birth, Address address) {
		super();
		this.name = name;
		this.birth = birth;
		this.address = address;
	}
	public Student(int id, double height, String name, Date birth,
			boolean ismarried, Address address) {
		super();
		this.id = id;
		this.height = height;
		this.name = name;
		this.birth = birth;
		this.ismarried = ismarried;
		this.address = address;
	}
	//setter/getter	
}

 

1.java对象到json字符串的转换:

 

		Address addr = new Address( "yinchuan", "jinfeng", "shengli", "1132");
		Gson gson = new Gson();  
		String json = gson.toJson(addr);
		System.out.println("addr = "+json);

 

2.json字符串到java对象:

 

		String json = "{\"city\":\"yinchuan\",\"area\":\"jinfeng\",\"street\":\"shengli\",\"no\":\"1132\"}";
		Gson gson = new Gson();
		Address addr = gson.fromJson(json, Address.class);
		System.out.println("addr = "+addr);
		System.out.println("addr = "+addr.getCity());
		System.out.println("addr = "+addr.getArea());
		System.out.println("addr = "+addr.getStreet());
		System.out.println("addr = "+addr.getNo());
		System.out.println("addr = "+addr.getCountry());

 

3.list到json:

 

		Gson gson = new Gson();  
		List li = new ArrayList();
		li.add("ab");
		li.add("bc");
		li.add("cd");
		li.add("de");
		String json = gson.toJson(li);
		System.out.println("li = "+json);

 

 4.泛型list到json:

 

		Gson gson = new Gson();
		List<Student> students = new ArrayList<Student>();
		students.add(new Student("zs",new Date(),new Address("yinchuan", "jinfeng", "shengli", "1132")));
		students.add(new Student("ww",new Date(),new Address("wuhan", "jinfeng", "shengli", "1132")));
		students.add(new Student("ll",new Date(),new Address("shanghai", "jinfeng", "shengli", "1132")));
		String json = gson.toJson(students);
		System.out.println("students = "+json);

 

 5.json list字符串转泛型list:

 

		List<Student> retList = gson.fromJson(json, new TypeToken<List<Student>>(){}.getType()); 
		for (Student stu : retList) {
			System.out.println(stu);
		}

下面小结一下:

其实我们的实现只依赖一个Gson对象:

 

Gson gson = new Gson();

 java数据对象转json字符串:

 

String json = gson.toJson(array);
String json = gson.toJson(obj);
String json = gson.toJson(set);
String json = gson.toJson(list);
String json = gson.toJson(map);

 

json字符串转java数据对象:

//json --> obj
Address addr = gson.fromJson(json, Address.class);
//json --> list
List<Student> retList = gson.fromJson(json, new TypeToken<List<Student>>(){}.getType()); 

 

在测试探究中:我还发现:如果有个json字符串的属性很多,但是,我们需要的属性只有若干的几个,那么我们可以根据需要进行实体bean的定义,这样我们也可以直接从json字符串提取出我们需要的实体bean。

就先这样,下一篇再深入了解其他的数据处理。

分享到:
评论

相关推荐

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

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

    Json转换利器Gson实例代码

    Json转换利器Gson之实例一-简单对象转化和带泛型的List转化 (http://blog.csdn.net/lk_blog/article/details/7685169) Json转换利器Gson之实例二-Gson注解和GsonBuilder ...

    gson 2.3.1 json转换利器

    Gson是Google开发的一款强大的Java库,用于在Java对象和JSON数据之间进行映射。它的全称是Google Simple JSON,其版本2.3.1是一个较为稳定且广泛使用的版本,适用于许多Android和Java项目。本篇文章将深入探讨Gson ...

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

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

    gson-jar的资源,处理json字符串请下载

    总结来说,Gson-jar资源是Java开发中处理JSON的利器,提供了方便、高效的序列化和反序列化功能,对于任何需要与JSON格式数据打交道的Java项目来说,都是不可或缺的工具。使用Gson,你可以轻松地在Java对象和JSON之间...

    gson2.7.jar

    Gson是Google推出的一款强大的Java库,用于在Java对象和JSON数据之间进行映射。它的全名是Google Simple Data Binder,版本2.7是其稳定且广泛使用的版本。标题中的"gson2.7.jar"正是这个库的二进制文件,可以被Java...

    gson-2.3.1.zip

    Gson库是由Google开发的一款Java库,用于在Java对象和JSON数据之间进行映射。它的全名是Google Simple JSON,其主要功能是帮助开发者轻松地将JSON格式的数据转换成Java对象,反之亦然。在Android开发中,Gson库特别...

    JavaScript利器GSON

    文件包括(1.GSON的jar包。2.GSON的源码。3.Gson的HTML和CHM的API文档)。统一版本号2.2.4。 JavaScript在编程语言中一直很热门.JSON...GSON在以Java开发的C/S(包括B/S)中有很好的发挥,GSON是Google开发的。

    gson-2.7.jar包

    Gson-2.7.jar是Google提供的一款Java库,用于在Java对象和JSON数据之间进行映射。这个库使得在Java应用程序中处理JSON数据变得极其简单。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读...

    flash2316.rar

    在IT行业中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于Web服务与客户端之间的...无论是在Web服务开发、Android应用还是其他Java相关项目中,Gson都是处理JSON数据不可或缺的利器。

    Json一键转Javabean工具

    "Json一键转Javabean工具"是一个实用的开发辅助工具,它能够帮助Java开发者快速地将JSON格式的数据转换成对应的JavaBean对象,极大地提高了开发效率。 JSON转换为JavaBean的过程通常包括以下步骤: 1. **解析JSON...

    com.alibaba.fastjson json解析工具包

    总之,`com.alibaba.fastjson`是一个功能强大、性能优异的JSON处理工具包,对于Java开发者来说,它是一个不可或缺的开发利器。在处理JSON数据时,`fastjson`的高效、易用和全面性使得它成为首选的JSON解析库。通过...

    json格式数据解析工具类

    总的来说,这个“json格式数据解析工具类”是Java开发中处理JSON数据的一个利器,它简化了JSON数据的解析过程,让开发者能更专注于业务逻辑,而不是基础的数据转换工作。通过学习和熟练掌握这个工具类的使用,能够...

    fast-json.zip

    《深入理解阿里巴巴FastJson:高效JSON...总结,阿里巴巴的FastJson凭借其出色的性能和易用性,已经成为Java开发者处理JSON数据的首选工具之一。了解并熟练掌握FastJson的使用,能够提升开发效率,优化应用程序的性能。

    Json jar包

    JSON(JavaScript Object Notation)...总之,"Json jar包"是Java开发中处理JSON数据的利器,它的存在简化了数据交换的流程,提高了开发效率。合理利用这个库,可以更好地实现Java应用与服务器或客户端之间的数据交互。

    json.org.jar

    此外,随着Java生态的发展,出现了许多其他JSON库,如Jackson、Gson、Fastjson等,它们提供了更丰富的功能和更高的性能。这些库可能更适合大型项目或者有特定需求的开发环境。因此,在选择JSON处理库时,应根据项目...

    Asy+httpcore+gson.zip

    **Gson** 是Google开发的一个Java库,用于在Java对象和JSON数据之间进行映射。它能够轻松地将JSON字符串转换为Java对象,反之亦然。Gson的强大之处在于其灵活性和深度,它可以处理复杂的数据结构,如嵌套对象和数组...

    GsonFormat.7z

    Gson是Google提供的一个Java库,它允许将Java对象转换为JSON字符串,反之亦然。GsonFormat插件基于Gson库,提供了用户友好的界面,使得开发者可以方便地导入JSON字符串并自动生成与之匹配的JavaBean代码。这样,...

    Json生成实体类工具

    JSON(JavaScript Object Notation)是一种轻量级...对于Android开发者来说,它是一个不可或缺的利器,特别是在处理大量JSON数据时。通过合理利用这样的工具,可以让我们更专注于业务逻辑,而不是基础的数据转换工作。

    ezmorph-1.0.6

    《ezmorph-1.0.6:Java中的JSON转换利器》 在Java开发中,处理JSON数据是一项常见的任务。为了高效、便捷地进行JSON对象与Java对象之间的转换,开发者们通常会依赖一些库来实现这一功能。其中,“ezmorph-1.0.6”...

Global site tag (gtag.js) - Google Analytics