使用gson(一)
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(一)的更多相关文章
- 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 ...
- Gson将字符串转换成JsonObject和JsonArray
以下均利用Gson来处理: 1.将bean转换成Json字符串: public static String beanToJSONString(Object bean) { return new Gso ...
- Gson解析纯Json数组
[ { "type": "123", "value": 123 }, { "type": "234" ...
- 【Gson】互相转化
Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库.可以将一个 JSON 字符串转成一个 Java 对象,或者反过来. 对象转为字符串 Strin ...
- Android Gson解析
目前解析json有三种工具:org.json(Java常用的解析),fastjson(阿里巴巴工程师开发的),Gson(Google官网出的),解析速度最快的是Gson,下载地址:https://co ...
- Android总结之json解析(FastJson Gson 对比)
前言: 最近为了统一项目中使用的框架,发现项目中用到了两种json解析框架,他们就是当今非常主流的json解析框架:google的Gson 和阿里巴巴的FastJson,为了废除其中一个所以来个性能和 ...
- gson笔记 解析json数据
gson中负责json数据解析的类是JsonReader. Json格式有两种结构,一种是对象(键值对的组合,无序),另外一种是数组(值的有序集合). 因此针对这两种格式,JsonReader提供了不 ...
- Android Gson的使用总结
1.概念 Gson是谷歌发布的一个json解析框架 2.如何获取 github:https://github.com/google/gson android studio使用 compile 'com ...
- Android JSON、GSON、FastJson的封装与解析
声明: 1.本帖只提供代码,不深入讲解原理.如果读者想要深入了解,那就不要在这个帖子上浪费时间了 2.客户端用的是Google官方的Volley访问服务器,具体了解Volley请戳 这里 3.本帖三种 ...
- Java Gson 简要笔记
Gson是Google开发的Java比较好用的 Json工具. 使用挺简单,假设有个类: class Runner { int attr; String name; public Runner(int ...
随机推荐
- Dropping tests(01分数规划)
Dropping tests Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8176 Accepted: 2862 De ...
- [Leetcode]-containsNearbyDuplicate
//题目: //给定一个整数数组与一个整数k,当且存在两个不同的下标i和j满足nums[i] = nums[j]而且| i - j | <= k时返回true.否则返回false. #inclu ...
- java解析xml的几种方式
java解析xml的几种方式 DOM DOM的全称是Document ObjectModel,也即文档对象模型.在应用程序中,基于DOM的XML分析器将一个XML文档转换成一个对象模型的集合(通常称D ...
- MD5算法【计算文件和字符串的MD5值】
1. MD5算法是一种散列(hash)算法(摘要算法,指纹算法),不是一种加密算法(易错).任何长度的任意内容都可以用MD5计算出散列值.MD5的前身:MD2.MD3.MD4.介绍工具:CalcMD5 ...
- 关于Repeater中使用DorpWownList的问题
关于Repeater中使用DorpWownList的问题 前台: <asp:Repeater ID="Repeater1" runat="server" ...
- Linux输入子系统(Input Subsystem)
Linux输入子系统(Input Subsystem) http://blog.csdn.net/lbmygf/article/details/7360084 input子系统分析 http://b ...
- HTML5 总结-应用程序缓存-8
HTML 5 应用程序缓存 使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本. 什么是应用程序缓存(Application Cache)? HTM ...
- Ecmall系统自带的分页功能使用
在控制器如果没有定义相关模型,直接使用sql语句的话,直接使用如下语句. 即: public $db; $this->db = &db(); //然后开始使用分页类 $sql='sele ...
- JAVA Metrics 度量工具使用介绍
转载: http://blog.csdn.net/scutshuxue/article/details/8350135 http://koven2049.iteye.com/blog/968143 h ...
- QT通过IP地址定位地址(用get方法取数据)
通过IP地址定位地址,是要通过查询数据库,如果自己做一个这样的数据库工作量就比较大,所以在网上找了一个查询IP地址的网址,通过调用这个网址查询来实现,但是这个有一定的弊端,如果没有网络或者这个网址不可 ...