今天学习下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。
就先这样,下一篇再深入了解其他的数据处理。
相关推荐
Gson作为Java对象和JSON转换的利器,通过其强大的功能和简洁的API,简化了开发者在JSON数据处理中的工作。无论是基本类型还是复杂对象,Gson都能轻松应对,同时提供了自定义转换的灵活性,使得在实际项目中更加...
Json转换利器Gson之实例一-简单对象转化和带泛型的List转化 (http://blog.csdn.net/lk_blog/article/details/7685169) Json转换利器Gson之实例二-Gson注解和GsonBuilder ...
Gson是Google开发的一款强大的Java库,用于在Java对象和JSON数据之间进行映射。它的全称是Google Simple JSON,其版本2.3.1是一个较为稳定且广泛使用的版本,适用于许多Android和Java项目。本篇文章将深入探讨Gson ...
Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,或者反过来。 java对象或者list转换为json字符串
总结来说,Gson-jar资源是Java开发中处理JSON的利器,提供了方便、高效的序列化和反序列化功能,对于任何需要与JSON格式数据打交道的Java项目来说,都是不可或缺的工具。使用Gson,你可以轻松地在Java对象和JSON之间...
Gson是Google推出的一款强大的Java库,用于在Java对象和JSON数据之间进行映射。它的全名是Google Simple Data Binder,版本2.7是其稳定且广泛使用的版本。标题中的"gson2.7.jar"正是这个库的二进制文件,可以被Java...
Gson库是由Google开发的一款Java库,用于在Java对象和JSON数据之间进行映射。它的全名是Google Simple JSON,其主要功能是帮助开发者轻松地将JSON格式的数据转换成Java对象,反之亦然。在Android开发中,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是Google提供的一款Java库,用于在Java对象和JSON数据之间进行映射。这个库使得在Java应用程序中处理JSON数据变得极其简单。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读...
在IT行业中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于Web服务与客户端之间的...无论是在Web服务开发、Android应用还是其他Java相关项目中,Gson都是处理JSON数据不可或缺的利器。
"Json一键转Javabean工具"是一个实用的开发辅助工具,它能够帮助Java开发者快速地将JSON格式的数据转换成对应的JavaBean对象,极大地提高了开发效率。 JSON转换为JavaBean的过程通常包括以下步骤: 1. **解析JSON...
总之,`com.alibaba.fastjson`是一个功能强大、性能优异的JSON处理工具包,对于Java开发者来说,它是一个不可或缺的开发利器。在处理JSON数据时,`fastjson`的高效、易用和全面性使得它成为首选的JSON解析库。通过...
总的来说,这个“json格式数据解析工具类”是Java开发中处理JSON数据的一个利器,它简化了JSON数据的解析过程,让开发者能更专注于业务逻辑,而不是基础的数据转换工作。通过学习和熟练掌握这个工具类的使用,能够...
《深入理解阿里巴巴FastJson:高效JSON...总结,阿里巴巴的FastJson凭借其出色的性能和易用性,已经成为Java开发者处理JSON数据的首选工具之一。了解并熟练掌握FastJson的使用,能够提升开发效率,优化应用程序的性能。
JSON(JavaScript Object Notation)...总之,"Json jar包"是Java开发中处理JSON数据的利器,它的存在简化了数据交换的流程,提高了开发效率。合理利用这个库,可以更好地实现Java应用与服务器或客户端之间的数据交互。
此外,随着Java生态的发展,出现了许多其他JSON库,如Jackson、Gson、Fastjson等,它们提供了更丰富的功能和更高的性能。这些库可能更适合大型项目或者有特定需求的开发环境。因此,在选择JSON处理库时,应根据项目...
**Gson** 是Google开发的一个Java库,用于在Java对象和JSON数据之间进行映射。它能够轻松地将JSON字符串转换为Java对象,反之亦然。Gson的强大之处在于其灵活性和深度,它可以处理复杂的数据结构,如嵌套对象和数组...
Gson是Google提供的一个Java库,它允许将Java对象转换为JSON字符串,反之亦然。GsonFormat插件基于Gson库,提供了用户友好的界面,使得开发者可以方便地导入JSON字符串并自动生成与之匹配的JavaBean代码。这样,...
JSON(JavaScript Object Notation)是一种轻量级...对于Android开发者来说,它是一个不可或缺的利器,特别是在处理大量JSON数据时。通过合理利用这样的工具,可以让我们更专注于业务逻辑,而不是基础的数据转换工作。
《ezmorph-1.0.6:Java中的JSON转换利器》 在Java开发中,处理JSON数据是一项常见的任务。为了高效、便捷地进行JSON对象与Java对象之间的转换,开发者们通常会依赖一些库来实现这一功能。其中,“ezmorph-1.0.6”...