google Json
gradle仓库地址:
// https://mvnrepository.com/artifact/com.google.code.gson/gson
compile group: 'com.google.code.gson', name: 'gson', version: '2.8.0'
package utils; import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.internal.$Gson$Types;
import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger; /**
* JSON对象映射解析工具类
*
* @author audaque
*
*/
public class GsonUtils { public static <T> T getObject(String jsonString, Class<T> cls) {
T t = null;
try {
GsonBuilder builder = new GsonBuilder();
DateDeserializer deserializer = new DateDeserializer();
builder.registerTypeAdapter(Date.class, deserializer);
Gson gson = builder.create();
t = gson.fromJson(jsonString, cls); } catch (Exception e) {
Logger.getLogger(GsonUtils.class.getName()).log(Level.SEVERE, null, e);
}
return t;
} public static <T> List<T> getObjects(String jsonString, Class<T> cls) {
try {
GsonBuilder builder = new GsonBuilder();
DateDeserializer deserializer = new DateDeserializer();
builder.registerTypeAdapter(Date.class, deserializer);
Gson gson = builder.create();
Type tp = $Gson$Types.newParameterizedTypeWithOwner(null, (Type) List.class, cls);
return gson.fromJson(jsonString, tp);
} catch (Exception e) {
Logger.getLogger(GsonUtils.class.getName()).log(Level.SEVERE, null, e);
}
return null;
} public static List<String> getList(String jsonString) {
List<String> list = new ArrayList<String>();
try {
Gson gson = new Gson();
list = gson.fromJson(jsonString, new TypeToken<List<String>>() {
}.getType());
} catch (Exception e) {
Logger.getLogger(GsonUtils.class.getName()).log(Level.SEVERE, null, e);
}
return list; } public static List<Map<String, Object>> listKeyMap(String jsonString) {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
try {
Gson gson = new Gson();
list = gson.fromJson(jsonString,
new TypeToken<List<Map<String, Object>>>() {
}.getType());
} catch (Exception e) {
Logger.getLogger(GsonUtils.class.getName()).log(Level.SEVERE, null, e);
}
return list;
} public static String getJsonString(Object obj) {
String json = null;
try {
// Gson gson = new Gson();
GsonBuilder builder = new GsonBuilder();
builder.disableHtmlEscaping();
DateSerializer serializer = new DateSerializer();
builder.registerTypeAdapter(Date.class, serializer);
Gson gson = builder.create();
json = gson.toJson(obj);
} catch (Exception e) {
Logger.getLogger(GsonUtils.class.getName()).log(Level.SEVERE, null, e);
}
return json;
} }
google Json的更多相关文章
- 简单了解json以及使用google json 2.2
json简介: JSON: JavaScript对象表示法(JavaScript Object Notation) JSON是存储和交换信息的语法. JSON是轻量级的文本交互格式 JSON独立于语言 ...
- android json解析详细介绍之gson
废话不多说,什么json是轻量级数据交换标准:自己百度去深入了解:这里有三种json解析工具.本人只用过其中两种: 1.Google Json利器之Gson 评价:简单,方便. 2.阿里巴巴 ...
- JSON解析之Gson
1.Gson简介 Gson是一个将Java对象转为JSON表示的开源类库,由Google提供,并且也可以讲JSON字符串转为对应的Java对象.虽然有一些其他的开源项目也支持将Java对象转为JSON ...
- 4.json解析
格式 {"name":"zhangsan", "age":18, "books":[{"name": ...
- 常用json解析库比较及选择 fastjson & gson
一.常用json解析库比较及选择 1.简介 fastjson和gson是目前比较常用的json解析库,并且现在我们项目代码中,也在使用这两个解析库. fastjson 是由阿里开发的,号称是处理jso ...
- Google开源项目风格指南
Google开源项目风格指南 来源 https://github.com/zh-google-styleguide/zh-google-styleguide Google 开源项目风格指南 (中文版) ...
- android122 zhihuibeijing 新闻中心NewsCenterPager加载网络数据实现
新闻中心NewsCenterPager.java package com.itheima.zhbj52.base.impl; import java.util.ArrayList; import an ...
- 一些javascript免费中文书籍
在这里谢谢那些无私的人~~这些内容来自这里:我只把js的链接粘到这里了~ 还有其它技术文档, 实在是太多了, 多的看都看不完!!! Google JavaScript 代码风格指南 Google JS ...
- 免费的编程中文书籍索引 from github
免费的编程中文书籍索引 免费的编程中文书籍索引,欢迎投稿. 国外程序员在 stackoverflow 推荐的程序员必读书籍,中文版. stackoverflow 上的程序员应该阅读的非编程类书籍有哪些 ...
随机推荐
- cvsba-1.0.0/utils/test_cvsba.cpp:.......error: ‘numeric_limits’ is not a member of ‘std’... error: expected primary-expression before ‘float’....
cvsba库http://www.uco.es/investiga/grupos/ava/node/39,不知道怎么回事,记得以前编译没有错误,不知道作者是否更新了还是怎么着,新的现在有以下错误: 解 ...
- hdu 1534(差分约束+spfa求最长路)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1534 思路:设s[i]表示工作i的开始时间,v[i]表示需要工作的时间,则完成时间为s[i]+v[i] ...
- git 初始化项目操作
命令行指令 Git 全局设置 git config --global user.name "你的名称" git config --global user.email "a ...
- Kotlin——初级篇(四):控制语句详解
在前面 的章节中讲解了Kotlin语言中的数据类型.变量与常量的定义.不了解请参见前面的内容: Kotlin--初级篇(三):数据类型详解. Kotlin--初级篇(二)常量.变量.注释. 下面详细为 ...
- [Spring Data MongoDB]学习笔记--牛逼的MongoTemplate
MongoTemplate是数据库和代码之间的接口,对数据库的操作都在它里面. 注:MongoTemplate是线程安全的. MongoTemplate实现了interface MongoOperat ...
- 【BZOJ2320】最多重复子串 调和级数+hash
[BZOJ2320]最多重复子串 Description 一个字符串P的重复数定义为最大的整数R,使得P可以分为R段连续且相同的子串.比方说,“ababab”的重复数为3,“ababa”的重复数为1. ...
- 字符串 转 时间戳 unix_timestamp('2018-07-01 0:0:0')
SELECT FROM_UNIXTIME(createtime,'%Y%m%d') AS d, s.app,SUM(o.val) FROM orders o LEFT JOIN app_type s ...
- 面向对象、接口编程的重要性 python 为什么引入接口interface
面向对象编程的实践 有个产品,其有10个子产品,现在要统计每日消费数据其中8个子产品的消费入账金额算法相同,2个不同; 拓展性差的糟糕的代码 def ConsumptionSum(product): ...
- [NOIP2018PJ]摆渡车
[NOIP2018PJ]摆渡车 luogu mdPJ组这么难,还好考的TG组 先按t排序 设f[i][j]表示前i个人,第i个人等j分钟的最小总等待时间 这里j是小于2m的 可以考虑最坏情况下,一个人 ...
- pymysql连数据库简单版
# 导入模块 import pymysql # 连接数据库 mysql_conn = pymysql.connect(host="127.0.0.1", port=3306, us ...