package test;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List; /**
* @author
*/
public class GsonTest { public static void main(String args[]){
//parseJSONObject(); //parseJSONArray(); // createJSONObject(); // createJSONArray(); } /**
* 解析JSON 对象
*/
public static void parseJSONObject(){
String json = "{'name':'张三', 'age':25}";
Gson gson = new Gson();
User user = gson.fromJson(json, User.class);
System.out.println(user);
} /**
* 生成JSON对象
*/
public static void createJSONObject(){
Gson gson = new Gson();
User user = new User();
user.name = "测试";
user.age = 100;
String json = gson.toJson(user);
System.out.println(json);
} /**
* 解析JOSN数组
*/
public static void parseJSONArray(){
String json = "[{'name':'张三', 'age':25},{'name':'李四', 'age':25}]";
Gson gson = new Gson();
List<User> list = gson.fromJson(json, new TypeToken<List<User>>(){}.getType());
Iterator<User> iter = list.iterator();
while(iter.hasNext()){
User user = iter.next();
System.out.println(user);
}
} /**
* 生成JSON数组
*/
public static void createJSONArray(){
Gson gson = new Gson();
List<User> list = new ArrayList<>();
User user = new User();
user.name = "张三";
user.age = 100;
list.add(user);
user = new User();
user.name = "李四";
user.age = 200;
list.add(user); String json = gson.toJson(list, new TypeToken<List<User>>(){}.getType());
System.out.println(json);
} final static class User{
public String name;
public int age; @Override
public String toString(){
return "Nmae:"+name+"\tAge:"+age;
}
}
}

Gson的简单使用的更多相关文章

  1. Okhttp、Volley和Gson的简单介绍和配合使用

    转载自:http://www.apkbus.com/home.php?mod=space&uid=784586&do=blog&id=61255 1.okhttp是一个高效的. ...

  2. gson的简单使用方法

    gson和其他现有java json类库最大的不同时gson需要序列化得实体类不需要使用annotation来标识需要序列化得字段,同时gson又可以通过使用annotation来灵活配置需要序列化的 ...

  3. Java Json API:Gson使用简单入门

    GSON是Google开发的Java API,用于转换Java对象和Json对象.本文讨论并提供了使用API的简单代码示例.更多关于GSON的API可以访问:http://sites.google.c ...

  4. java中gson的简单使用

    把从数据库中查询的记录以JSON格式返回给客户端,在这里使用gson-2.2.4.jar包. 代码结构如下: 数据库结构如下: (1)User.java public class User { pri ...

  5. GSON的简单示例

    https://github.com/google/gson package com.example.wolf; import com.google.gson.JsonArray; import co ...

  6. [转]用Gson来解析Json数据

    转自太阳尚远的博客:http://blog.yeqianfeng.me/2016/03/02/use_gson_to_parse_json/ 在我们实际开发中像Json和XML这两种格式的数据是最常见 ...

  7. GSON中Java对象与JSON互相转换——(一)

    json的转换插件是通过java的一些工具,直接将java对象或集合转换成json字符串. 常用的json转换工具有如下几种: 1)jsonlib 2)Gson:google 3)fastjson:阿 ...

  8. GSON使用笔记

    GSON简介 GSON是Google开发的Java API,用于转换Java对象和Json对象,我在这里将记录一下GSON的简单使用 下载GSON 我们可以在其github仓库中下载,也可以使用Mav ...

  9. json数据与Gson工具类的使用

    JS中使用JSON JSON对象 --> JSON字符串:JSON.stringify(对象) JSON字符串 --> JSON对象:JSON.parse(JSON字符串) <scr ...

随机推荐

  1. Effective Java实作hashCode() - 就是爱Java

    hashCode()这个方法,也是定义在Object class中,这个是所有class的base class,因此所有的class也都继承这个方法,预设是传回这个对象储存的内存地址编号,因为Mix覆 ...

  2. ng-repeat-start ng-repeat-end 的使用

    ng-repeat-start与ng-repeat-end时AngularJS(1.2.x)扩展的, 使用这两个指令可以灵活控制遍历形式. 例如: index.html <div class=& ...

  3. Qt判断和打开进程(windows端),运行,检测,中止

    windows端的Qt程序往往需要打开外部程序(如:prog.exe),并且需要确定这个外部程序是唯一打开的. 1.判断系统中是否存在prog.exe void judge() { QProcess ...

  4. 【转】ARM Linux 3.x的设备树(Device Tree)

    原文网址:http://blog.csdn.net/21cnbao/article/details/8457546 1.    ARM Device Tree起源 Linus Torvalds在201 ...

  5. 认识什么是SEO

    何为SEO? SEO是由英 文Search Engine Optimization缩写而来, 中文意译为“搜索引擎优化”,是指在了解搜索引擎自然排名机制的基础上,对网站进行内部及外部的调整优化,改进网 ...

  6. poj 1149 pigs(最大流)

    题目大意:迈克在农场工作,农场有 m 个猪舍,每个猪舍有若干只猪,但是迈克不能打开任何一间猪舍.有 n 个顾客前来购买,每个顾客有最大的购买数量,每个顾客可以购买某些猪舍的猪,且顾客可以打开这些猪舍, ...

  7. UESTC_Just a Maze CDOJ 1162

    Just a Maze Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 262144/262144KB (Java/Others) Su ...

  8. java 实现排序

    package com.cjs.sort; /** * 此类用来提供针对整数的各种排序算法 * * @author S * @version 1.0 */ public class MySort { ...

  9. python高级编程之选择好名称:pepe8和命名最佳实践

    # # -*- coding: utf-8 -*- # # python:2.x # __author__ = 'Administrator' # my_list=['a','b','c','d'] ...

  10. UIScreen类

    CGRect screenBounds = [ [UIScreen mainScreen]bounds];//返回的是带有状态栏的Rect NSLog(@"%@", NSStrin ...