1、数组和json的转换

 package com.test.gson;
import com.google.gson.Gson;
public class ArrayToJson { public static void main(String[] args) {
// TODO Auto-generated method stub
int[] numbers = {1,2,3,4,5,6,7,8,9};
String[] days = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; Gson gson = new Gson(); String numbersJson = gson.toJson(numbers);
System.out.println("numbersJson=" + numbersJson); int[] nums = gson.fromJson(numbersJson, int[].class);
for(int i=0; i<nums.length ; i++){
System.out.println(nums[i]);
}
String daysJson = gson.toJson(days);
System.out.println("daysJson=" + daysJson); String[] weekDays = gson.fromJson(daysJson, String[].class);
for(int j=0; j<weekDays.length; j++){
System.out.println(weekDays[j]);
}
} }

2、对象和json的转换

 package com.test.gson;

 import com.google.gson.Gson;

 public class StudentToJson {

     public static void main(String[] args) {
// TODO Auto-generated method stub
Student student = new Student(1001,"gulu","beijing");
Gson gson = new Gson(); String studentJson = gson.toJson(student);
System.out.println("studentJson=" + studentJson); Student stu = gson.fromJson(studentJson, Student.class);
System.out.println(stu.toString());
System.out.println(stu.getId());
System.out.println(stu.getName());
System.out.println(stu.getAddress());
} }

3、List和json的转换

 package com.test.gson;

 import java.util.ArrayList;
import java.util.List;
import java.lang.reflect.Type; import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken; public class CollectionToJson { public static void main(String[] args) {
// TODO Auto-generated method stub
List<String> names = new ArrayList<String>();
names.add("Alice");
names.add("Bob");
names.add("Carol");
names.add("Mallory"); Gson gson = new Gson(); String jsonNames = gson.toJson(names);
System.out.println("jsonNames="+jsonNames); Student a = new Student(1,"zhangsan","beijing");
Student b = new Student(2,"wangwu","nanjing");
Student c = new Student(3,"lisi","guangzhou");
Student d = new Student(4,"wangba","shanghai"); List<Student> students = new ArrayList<Student>();
students.add(a);
students.add(b);
students.add(c);
students.add(d); String jsonStudents = gson.toJson(students);
System.out.println("jsonStudents="+jsonStudents); Type type = new TypeToken<List<Student>>(){}.getType();
List<Student> studentList = gson.fromJson(jsonStudents, type);
for(Student student : studentList){
System.out.println(student.getName());
}
} }

4、map和json的转换

 package com.test.gson;

 import java.lang.reflect.Type;
import java.util.HashMap;
import java.util.Map; import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken; public class MapToJson { public static void main(String[] args) {
// TODO Auto-generated method stub
Map<String, String> colours = new HashMap<String,String>();
colours.put("black", "#000000");
colours.put("red", "#ff0000");
colours.put("green", "#00ff00");
colours.put("blue", "#0000ff"); Gson gson = new Gson();
String mapJson = gson.toJson(colours);
System.out.println("gson="+mapJson); Type type = new TypeToken<Map<String,String>>(){}.getType(); Map<String,String> map = gson.fromJson(mapJson, type);
for(String key : map.keySet()){
System.out.println("map.get=" + map.get(key));
}
} }

使用gson(一)的更多相关文章

  1. No-args constructor for class X does not exist. Register an InstanceCreator with Gson for this type to fix this problem.

    Gson解析JSON字符串时出现了下面的错误: No-args constructor for class X does not exist. Register an InstanceCreator ...

  2. Gson将字符串转换成JsonObject和JsonArray

    以下均利用Gson来处理: 1.将bean转换成Json字符串: public static String beanToJSONString(Object bean) { return new Gso ...

  3. Gson解析纯Json数组

    [ { "type": "123", "value": 123 }, { "type": "234" ...

  4. 【Gson】互相转化

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

  5. Android Gson解析

    目前解析json有三种工具:org.json(Java常用的解析),fastjson(阿里巴巴工程师开发的),Gson(Google官网出的),解析速度最快的是Gson,下载地址:https://co ...

  6. Android总结之json解析(FastJson Gson 对比)

    前言: 最近为了统一项目中使用的框架,发现项目中用到了两种json解析框架,他们就是当今非常主流的json解析框架:google的Gson 和阿里巴巴的FastJson,为了废除其中一个所以来个性能和 ...

  7. gson笔记 解析json数据

    gson中负责json数据解析的类是JsonReader. Json格式有两种结构,一种是对象(键值对的组合,无序),另外一种是数组(值的有序集合). 因此针对这两种格式,JsonReader提供了不 ...

  8. Android Gson的使用总结

    1.概念 Gson是谷歌发布的一个json解析框架 2.如何获取 github:https://github.com/google/gson android studio使用 compile 'com ...

  9. Android JSON、GSON、FastJson的封装与解析

    声明: 1.本帖只提供代码,不深入讲解原理.如果读者想要深入了解,那就不要在这个帖子上浪费时间了 2.客户端用的是Google官方的Volley访问服务器,具体了解Volley请戳 这里 3.本帖三种 ...

  10. Java Gson 简要笔记

    Gson是Google开发的Java比较好用的 Json工具. 使用挺简单,假设有个类: class Runner { int attr; String name; public Runner(int ...

随机推荐

  1. JAVA GUI学习 - JProgressBar进度条组件摘录

    public class JProgressBarTest extends JFrame{ public JProgressBarTest() { super(); setTitle("表格 ...

  2. cocos2d基础篇笔记四

    1.//有两种集合 //第一种是array 特点:插入,删除效率低,可是查找效率高 //另外一种是list  特点:插入,删除效率高,可是查找效率低 //分析这个游戏: 插入的时候:怪物,射弹出现时, ...

  3. 图像检索:一维直方图+EMD距离

    EMD距离具体介绍已经在在这里已经给出. 思路:我们把一张图像的归一化的一维直方图作为signature的权值,也就是一般在比較两幅图像颜色直方图的EMD距离时,每一行的坐标一样,仅仅是权重值不一样. ...

  4. Codeforces Round #261 (Div. 2)——Pashmak and Buses

    题目链接 题意: n个人,k个车,d天.每一个人每天能够坐随意一个车.输出一种情况保证:不存在两个人,每天都在同一辆车上 (1 ≤ n, d ≤ 1000; 1 ≤ k ≤ 109). 分析: 比赛中 ...

  5. codeforces 478B Random Teams

    codeforces   478B  Random Teams  解题报告 题目链接:cm.hust.edu.cn/vjudge/contest/view.action?cid=88890#probl ...

  6. linux shell: 搜索字符串,剔除包含特定字符的行

    搜索代码中出现CONFIG_BOOTARGS的行,但又不希望有#define和#undef, 暂时不知带如何直接用一个语句做到,因此用了如下三个语句. find . -type f | xargs g ...

  7. Value Categories

    Value categories Three primary categories primary categories mixed special Each C++ expression (an o ...

  8. ACE6.2.0下载HTTP服务器文件

    #include "ace/Log_Msg.h" // ACE_DEBUG的宏定义在这里.#include "ace/OS.h"#include "a ...

  9. Java,js,多条件split字符分割

    后台字符串分割处理: String s = "i20002/400|i3030/300";        String[] s1 = s.split("\\||/&quo ...

  10. Sublime Text 2使用技巧汇总

    一.下载链接: Windows-64bit: http://pan.baidu.com/s/1o6QdKYu 其它版本请移步官网: http://www.sublimetext.com/ 二.破解Li ...