Java bean:

package com.jingle.a;

public class Person {
public String name;
public int age; public Person (){ }
public Person(String name, int age) {
super();
this.name = name;
this.age = age;
} public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
} }

测试类:

 package com.jingle.a;

 import java.util.ArrayList;
import java.util.List; import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken; public class A { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub Gson gson = new Gson(); List<Person> perList = new ArrayList<Person>();
for (int i = 0; i < 5; i++) {
Person p = new Person(String.valueOf(i), i);
perList.add(p); }
// 对象实体的序列化:将对象实体转为json格式
String str = gson.toJson(perList); System.out.println(perList);
// list toString 带类名称
// [Person [name=0, age=0], Person [name=1, age=1], Person [name=2,
// age=2], Person [name=3, age=3], Person [name=4, age=4]]
System.out.println(str); // 使用Gson将list转为Json格式输出则不带类名,只是key-value
// [{"name":"0","age":0},{"name":"1","age":1},{"name":"2","age":2},{"name":"3","age":3},{"name":"4","age":4}] // json格式的反序列化,将json格式转为对象实体
// 在日常应用中,我们一般都会碰到两种情况,转成单一实体对象和转换成对象列表或者其他结构。 String j1 = "{'name':'a', 'age':'25'}";
Gson g1 = new Gson();
// 单一实体对象
// 参数1:json数据,参数2:需要转换对象的类型
// **********************
Person p1 = g1.fromJson(j1, Person.class);
// ********************** System.out.println(p1); // 对象列表
Gson g2 = new Gson(); // **********************
List<Person> ps = g2.fromJson(str, new TypeToken<List<Person>>() {
}.getType());
// **可以看到上面的代码使用了TypeToken,它是gson提供的数据类型转换器,可以支持各种数据集合类型转换
// gson和其他现有java
// json类库最大的不同时gson需要序列化得实体类不需要使用annotation来标识需要序列化得字段,同时gson又可以通过使用annotation来灵活配置需要序列化的字段。
System.out.println(ps); }
}

使用Gson送解析Json格式的更多相关文章

  1. 解析json格式数据

    实现目标 读取文件中的json格式数据,一行为一条json格式数据.进行解析封装成实体类. 通过google的Gson对象解析json格式数据 我现在解析的json格式数据为: {",&qu ...

  2. 用GSON解析Json格式数据

    GSON是谷歌提供的开源库,用来解析Json格式的数据,非常好用.如果要使用GSON的话,则要先下载gson-2.2.4.jar这个文件,如果是在Android项目中使用,则在Android项目的li ...

  3. $Java-json系列(一):用GSON解析Json格式数据

    GSON是谷歌提供的开源库,用来解析Json格式的数据,非常好用.如果要使用GSON的话,则要先下载gson-2.2.4.jar这个文件,如果是在Android项目中使用,则在Android项目的li ...

  4. 使用google的GSON解析json格式的数据

    GSON是谷歌提供的开源库,用来解析Json格式的数据,非常好用.如果要使用GSON的话,则要先下载gson-2.2.4.jar这个文件,如果是在Android项目中使用,则在Android项目的li ...

  5. Scala解析Json格式

    Scala解析Json格式 代码块 Scala原生包 导入包 import scala.util.parsing.json._ def main(args: Array[String]): Unit ...

  6. WP8解析JSON格式(使用DataContractJsonSerializer类)(推荐)

    DataContractJsonSerializer是.NET自带的类,在解析JSON格式的时候使用起来方便快捷,至于生成方面由于暂时没用到就没去看了.使用需要引用System.Runtime.Ser ...

  7. WP8解析JSON格式(使用Newtonsoft.Json包)

    DOTA2 WebAPI请求返回的格式有两种,一种是XML,一种是JSON,默认是返回JSON格式. 这里举一个简单的解析JSON格式的例子(更多JSON操作): { "response&q ...

  8. 实现android上解析Json格式数据功能

    实现android上解析Json格式数据功能,该源码转载于安卓教程网的,http://android.662p.com ,个人感觉还不错的,大家可以看看一下吧. package com.practic ...

  9. Python3基础 json.loads 解析json格式的数据,得到一个字典

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

随机推荐

  1. ubutu安装搜狗

    1.下载deb文件 下载32位 wget "http://pinyin.sogou.com/linux/download.php?f=linux&bit=32" -O &q ...

  2. 转一篇简易易懂的android回调的实现--->(转的)

    回调机制在 Android 监听用户界面操作中的体现   本文讨论以下两个内容: 1. 回调函数 2. 回调机制在 Android框架 监听用户界面操作中的作用 一 回调函数 回调函数就是一个通过函数 ...

  3. Java多线程基础知识(五)

    一. Java中的13个原子操作类 在Jdk1.5中,这个包中的原子操作类提供了一种用法简单,性能高效,线程安全的更新一个变量的方式. 1. 原子更新基本类型类 AtomicBoolean : 原子更 ...

  4. thinkphp的CURD操作

    增 //a字段是主键 $data['b'] = 'bbb'; $data['c'] = 'c'; $new_id = M('test')->data($data)->add(); //ec ...

  5. python文件头的#-*- coding: utf-8 -*- 的作用

    这一句其实是告诉编辑器,我的代码使用的格式是utf-8,如果没有这句编辑器就会自动去识别代码的文件格式,如果发现文件格式不是utf-8,就有可能去将编码格式转换为utf-8,比如本来是gbk的,编辑器 ...

  6. C++变量对比java变量所占内存

    C++ char 1 short int 2 int 4 long int 8 float 4 double 8 long double 8 下面是计算程序: #include<math.h&g ...

  7. 用 ROS 做内网DNS服务器

    转载:http://iliuyong.iteye.com/blog/1035692 用 ROS 做内网DNS服务器方法:1.ROS 设置IP ->DNS 选择"static" ...

  8. BZOJ 3362: [Usaco2004 Feb]Navigation Nightmare 导航噩梦

    Description 给你每个点与相邻点的距离和方向,求两点间的曼哈顿距离. \(n \leqslant 4\times 10^4\) . Sol 加权并查集. 像向量合成一样合并就可以了,找 \( ...

  9. java.lang.NoClassDefFoundError: [Lorg/hibernate/engine/FilterDefinition

    解决办法: 原先:<bean id="sessionFactory"class="org.springframework.orm.hibernate3.annota ...

  10. ubuntu查看端口占用

    查看端口号 sudo netstat -ltnp | 结束进程 sudo kill pid