使用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 ...
随机推荐
- PHP自学之路-----javascript基础入门
Javascript概述: Javascript是基于对象和事件的脚本语言.特点; 1.安全性(不允许直接访问本地硬盘),它可以做的就是信息的动态交互. 2.跨平台性. JavaScript与HTML ...
- iOS开发常识
一.NSString 创建字符串. NSString *astring = @"This is a String!"; 创建空字符串,给予赋值. NSString *astri ...
- Sass入门——基本特性-基础
本文来自慕课网大漠 声明变量 三个部分:1.声明变量的符号"$"2.变量名称3.赋予变量的值 $brand-primary : darken(#428bca, 6.5%) !def ...
- 使用uWSGI+nginx部署Django项目
最近使用django写了一些项目,不过部署到服务器上碰到一些问题,还有静态文件什么的一堆问题,这里总结一下碰到的问题和解决方案,总体思路是按照官方文档走的. 原文地址:http://uwsgi-doc ...
- BZOJ 1679: [Usaco2005 Jan]Moo Volume 牛的呼声( )
一开始直接 O( n² ) 暴力..结果就 A 了... USACO 数据是有多弱 = = 先sort , 然后自己再YY一下就能想出来...具体看code --------------------- ...
- Aptana Studio 3 官方汉化包汉化
Babel Language Pack Update Site for Helios This URL is an Eclipse software repository:http://downloa ...
- python成长之路16
阅读(72) 一:jQuery是一个兼容多浏览器的javascript类库,核心理念是write less,do more(写得更少,做得更多),对javascript进行了封装,是的更加便捷的开发, ...
- IE6不支持<a>标签以外元素的hover的解决方案
IE6以及更低版本的浏览器对“:hover”的支持不理想,对于类似的“p:hover”.“img:hover”.“#header:hover”...,今天给大家介绍一种新的方法,可以完美解决IE6不支 ...
- Android 6.0 新特性 整理 资料来自网络
Android 6.0新特性 Runtime Permissions Doze and App Standby Apache HTTP Client Removal BoringSSL Access ...
- 【工具篇】利用DBExportDoc V1.0 For MySQL自动生成数据库表结构文档
对于DBA或开发来说,如何规范化你的数据库表结构文档是灰常之重要的一件事情.但是当你的库,你的表排山倒海滴多的时候,你就会很头疼了. 推荐一款工具DBExportDoc V1.0 For MySQL( ...