宁夏网站建设怎么样,瀑布流网站源码下载,西南能矿建设工程公司网站,石龙网站仿做gson和其他现有java json类库最大的不同时gson需要序列化得实体类不需要使用annotation来标识需要序列化得字段#xff0c;同时gson又可以通过使用annotation来灵活配置需要序列化的字段。 下面是一个简单的例子#xff1a; publicclassPerson {privateString name;privatein…gson和其他现有java json类库最大的不同时gson需要序列化得实体类不需要使用annotation来标识需要序列化得字段同时gson又可以通过使用annotation来灵活配置需要序列化的字段。 下面是一个简单的例子 publicclassPerson {privateString name;privateintage;/** * returnthe name*/publicString getName() {returnname; }/** * paramname the name to set*/publicvoidsetName(String name) {this.name name; }/** * returnthe age*/publicintgetAge() {returnage; }/** * paramage the age to set*/publicvoidsetAge(intage) {this.age age; } OverridepublicString toString() {returnname :age; }} 实体很简单两个字段当然实体中的字段也可以是List或者Set类型的。 Gson gson newGson();ListPersonpersons newArrayListPerson();for(inti 0; i 10; i) { Person p newPerson(); p.setName(namei); p.setAge(i *5); persons.add(p);}String str gson.toJson(persons); 上面的代码重点是Gson对象它提供了toJason()方法将对象转换成Json字符串上面代码的str对象值为 [{name:name0,age:0},{name:name1,age:5},{name:name2,age:10},{name:name3,age:15},{name:name4,age:20},{name:name5,age:25},{name:name6,age:30},{name:name7,age:35},{name:name8,age:40},{name:name9,age:45}] 很标准的json数据很简单吧呵呵。 下面来看看gson的反序列化Gson提供了fromJson()方法来实现从Json相关对象到java实体的方法。 在日常应用中我们一般都会碰到两种情况转成单一实体对象和转换成对象列表或者其他结构。 先来看第一种 比如json字符串为[{name:name0,age:0}] 代码: Person person gson.fromJson(str, Person.class); 提供两个参数分别是json字符串以及需要转换对象的类型。 第二种转换成列表类型 代码: ListPersonps gson.fromJson(str, newTypeTokenListPerson(){}.getType());for(inti 0; i ps.size() ; i){ Person p ps.get(i); System.out.println(p.toString());} 可以看到上面的代码使用了TypeToken它是gson提供的数据类型转换器可以支持各种数据集合类型转换。转载于:https://www.cnblogs.com/happyPawpaw/archive/2012/10/23/2735697.html