JAVA从入门到精通(17)-- GSON

2023-05-16

一、GSON介绍

1》介绍:GSON最早由Google提出的开源的项目,主页在github上,解析json

二、GSON生成JSON数据

1》加入依赖,创建包和类

2》创建Gson对象

Man  wxe = new  Man() ;

wxe.setName("xzx“);

Gson  gson  =   new   Gson() ;

gson.toJson(wxe) ; 

3》如果真正转换的数据格式不一致,则可以使用@SerializedName(”NAME“) 

装换后的name属性则变为了大写的NAME

4》GsonBuilder    gsonBuilder  =  new  GsonBuilder() ;

gsonBuilder.setPrettyPrintint() ;

Gson  gson  =   gsonBuilder.create();

这将json格式美化了,将一行的json打印成多行

5》setFieldNamingStrategy()定制自己的策略

private  transient   String  ignore ; //transient指忽略该属性

二、GSON解析

1》创建对象并掉用

File  file  =   new   File (文件路径) ; 

String  content  =  FileUtils.readFileToString(file);

Gson  gson  =  new  Gson() ;

Man   wxe =  gson.fromJson(content , Man.class) ;

三、GSON解析带日期装换

1》将birthday改成Date类型 private  Date   birthday ;

2》日期模板: Gson    gson  = new  GsonBuilder().setDateFormat(" yyyy-MM-dd ").create();

四、集合类解析

1》将数组类型转为集合类:private  String[ ]  major; 改成:private    List<String>  major ;

2》其余和GSON解析相同

五、JSON和GSON区分

JSON是Android  SDK官方的库,在开发移动端程序的时候用JSONObject 进行数据转换和生成

GSON适用于服务端开发,做json的数据处理(比JSONG功能更强大)

六、JSON库的总结

功能:映射Java  Object 与json格式数据

几种特点:

1。通过Annotation 注解来声明

2。支持自定义属性名称

3。支持包含或排除属性

4。支持自定义接口自己完成解析/生成过程




本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JAVA从入门到精通(17)-- GSON 的相关文章

  • 建立健康的职业发展观

    Google的Reader要下线了 xff0c 很多人都说这是因为Blog的没落 微博的兴起 xff0c 确实给了很多人表达情绪的方式 如果我能够用140个字 xff0c 清晰的表达我的观点 xff0c 并且能够让我的读者做到一点点认可 x
  • 使用maven 自动为 js/css加版本号

    原理就是使用 maven replacer plugin 替换html 中的 js css 等 xff0c 难点主要是maven war plugin的生命周期的问题 xff0c 参考配置如下 xff1a lt plugin gt lt g
  • XTDrone学习笔记二:在Fedora运行ORB_SLAM2+PX4的仿真

    对应肖老师的内容 xff1a 视觉SLAM ORB SLAM2针对Fedora上使用的修改已提交到github上 在Fedora上的仿真环境搭建请参考 xff1a XTDrone学习笔记一 xff1a ROS 43 PX4仿真平台基础配置
  • 数据清洗的一些梳理

    xff08 欢迎转载到个人朋友圈 xff0c 转载时请带原文链接 xff0c 公众号和其他媒体转载前请私信联系本人获取授权 xff09 首先对 64 MayaG表示感谢 xff0c 这篇文章是被你提的问题激发出的灵感 xff0c 非常感谢
  • Conda install package遇到CondaHTTPError: HTTP 000 Connection Failed问题

    新安装的anaconda xff0c 在使用conda install时候会遇到错误信息 xff1a SSLError MaxRetryError 39 HTTPSConnectionPool host 61 39 repo anacond
  • 通过Node-Red将西门子PLC数据上传至阿里云物联网平台并进行可视化显示

    本篇基于我之前的文章 利用Node Red读写西门子PLC并将数据上传至云服务器 xff0c Node Red搭建及读写PLC部分请参考该文章 首先在阿里云物联网平台开通公共实例 xff0c 开通成功后在公共实例的设备管理 产品处点击创建产
  • C++笔记--关于string, char*, char[]中的‘\0’问题(2-3)

    0 问题 const char 字符串 以 0 结尾char 字符串 以 0 结尾string 字符串 不以 0 结尾char n 61 34 string 34 当string 长度 43 0 gt n时 xff0c 会因空间不足出错st
  • 经典C++笔试题目--100(C++面向对象的特性(38-61))

    C 43 43 面向对象的特性 38 61 38 是不是一个父类写了一个virtual 函数 xff0c 如果子类覆盖它的函数不加virtual 也能实现多态 参考答案 virtual修饰符会被隐形继承的 virtual可加可不加 子类的空
  • 经典C++笔试题目--100(编程练习(比C要难)(91-100))

    编程练习 比C要难 91 100 91 请编写一个 C 函数 xff0c 该函数给出一个字节中被置 1 的位的个数 参考答案 unsigned int TestAsOne0 char log int i unsigned int num 6
  • 小四轴调试笔记

    9 22 使用dmp进行姿态解算时 由于小四轴尺寸很小 电机和6050的距离略近 电机对MPU6050的影响就会很大当然 这种情况仅发生在尺寸很小的小四轴并且使用DMP时 图为电机转速增到最大时6050的值 可见加速度和角速度都发生了剧烈变
  • [STM32]开源光流定点 四轴 PIX

    废话不多说先上图 xff1a 硬件配置 xff1a STM32F407VET6 MPU6050 VL53L0X 光流的概念是Gibson在1950年首先提出来的 它是空间运动物体在观察成像平面上的像素运动的瞬时速度 xff0c 是利用图像序
  • svn status详解

    svn 是在提交前查看本地文本和版本库里面的文件的区别 返回值有许多种具体含义如下 xff1a url 61 L abc c svn已经在 svn目录锁定了abc c M bar c bar c的内容已经在本地修改过了 M baz c ba
  • 如何应对软件需求不明确、需求频繁更改和需求的无底洞

    入职以来一直会遇到这种问题 xff0c 也许是软件行业的死穴 xff0c 任何项目如果处理不好解决不了这些问题 xff0c 就相当于得了慢性绝症 xff0c 不但项目的结局是死路 xff0c 经手项目的每 个开发人员到管理者都在经受挑战人体
  • Ubuntu 20.04换国内源 清华源 阿里源 中科大源 163源

    Ubuntu 20 04 是 Ubuntu 的第 8 个 LTS 版本 xff0c 其重大更新和改进将在 2030 年前终止 xff0c 计划于2020年 4 月 23 日发布 国内有很多Ubuntu的镜像源 xff0c 包括阿里的 网易的
  • 详解100行c11线程池 ThreadPool.h

    介绍 这个大神的100行实现c11线程池 xff0c 真的是相当简洁给力 xff0c 偶尔会在项目里面使用 xff0c 但是老实说一直是迷迷糊糊 xff0c 并不清楚具体实现细节 xff0c 现在有空学习了一波 xff0c 记录一下 xff
  • ORB特征提取匹配opencv3代码实现

    span class hljs preprocessor include lt iostream gt span span class hljs preprocessor include lt opencv2 core core hpp g
  • 利用ZeroMQ传输图片

    待传输的数据 cv Mat mat 订阅端 xff08 sub xff09 import cv2 import zmq sub port 61 span class hljs number 6666 span context 61 zmq
  • OpenStack部署工具总结

    目前感觉比较简单直观的部署工具有RDO devstack Fuel等 xff1a 1 RDO https OpenStack redhat com Quickstart REDHAT出品 xff0c 支持Redhat CentOS等系统 R
  • Python中的函数与变量讲解

    不知道大家在学习Python的时候 xff0c 有没有发现一个问题 xff0c 函数里边的变量和脚本里边的变量好像是无关的 本文今天要讲的就是Python中的函数与变量 xff0c 如果大家对于这个方面的内容有困惑 xff0c 不妨来一起学
  • Python+OpenCV静态图像读取与显示_Haar模型实现简单的人脸识别

    目的 xff1a 1 主要是熟悉一下静态图像的读取与显示 xff1b 2 然后了解下基于OpenCV安装目录下haar特征识别人脸区域 人脸特征数据 基于 tengxing007 的博客 xff1a Python 43 OpenCV 实现简

随机推荐

  • 富斯FS-T6 APM飞控四种飞行模式设置方法_MIX混控设置

    来源于5iMX论坛的这篇帖子 富斯FS T6 APM飞控两种飞行模式设置方法点击打开链接 但是我按照作者的设置MIX的方法 xff0c 怎么都只有三种通道 先上图吧 xff1a 1 我的混控设置 xff1a OFFSET是偏移量 xff0c
  • Netfilter笔记-02

    Netfilter说白了就是针对不同的协议 xff08 协议类型和hook节点我们上一章已经讲过 xff09 在kernel中放置了不同的hook节点 xff0c 等数据包sk buff xff0c 到来的时候 xff0c 要给hook节点
  • 如何做在短时间内搞定VR交互的核心技能?

    转 http 36kr com p 5056703 html ktm source 61 feed amp from 61 timeline 从平面到空间 xff0c 虚拟现实正在开启一场全新的交互方式的变迁 xff0c 更或者 xff0c
  • 单目视觉的运动目标跟踪定位

    转 http www leiphone com news 201704 z87wjT8j9s94tMnG html 市场上空间定位的技术方案分为单目 双目以及激光雷达三大阵营 xff0c 其中激光雷达由于成本高昂市场接受度较低 xff0c
  • 关于IP地址、网络号、主机号、子网掩码之间的关系

    IP地址类似于我们的身份证号码 国家为了唯一确定我们每个人的身份 xff0c 会为我们每个人分配一个唯一确定身份的号码 xff0c 同理 xff1a 为了确切地标识Internet xff08 互联网 xff09 中的每一台主机和路由器 x
  • Android原生编解码接口 MediaCodec 之——踩坑

    关键帧 MediaCodec 有两种方式触发输出关键帧 xff0c 一是由配置时设置的 KEY FRAME RATE 和KEY I FRAME INTERVAL参数自动触发 xff0c 二是运行过程中通过 setParameters 手动触
  • [xshell6过期解决方案]xshell6评估过期 如何继续使用(亲测有效) 100%成功

    过完年来上班第一天打开xshell提示评估过期了 很是尴尬 搞了老半天才弄好 下面来分享一下我的解决过程 大家严格按照下面的流程走就可以了 基本都可以成功 如果没成功 那一定是你的姿势不对 1 我之前下载的是evaluation版本 xff
  • # Ubuntu 配置自带vnc桌面共享

    Ubuntu 配置自带桌面共享 1 在setting gt gt shareing gt gt remote 选择on 如果用ubunutu直接远程连接的话已经可以了 xff0c 2 在ubuntu下使用系统自带的remmina连接 vnc
  • netconf学习-安装ncclient客户端提示'install_requires'错误

    环境说明 xff08 1 xff09 操作系统 xff1a centos7 7 xff08 2 xff09 python版本 xff1a 2 7 5 问题描述 在学习netconf的时候需要编写netconf自动化 xff0c 此时就需要用
  • Baumer工业相机堡盟工业相机使用BGAPI SDK将图像数据转换为Bitmap的几种方式(C#)(Mono)

    Baumer工业相机堡盟工业相机使用BGAPI SDK将图像数据转换为Bitmap的几种方式 xff08 C xff09 Baumer工业相机Baumer工业相机图像数据转为Bitmap的技术背景Baumer工业相机使用BGAPISDK将图
  • OpenStack版本

    OpenStack的每个主版本系列以字母表顺序 xff08 A Z xff09 命名 xff0c 以年份及当年内的排序做版本号 xff0c 从第一版的Austin xff08 2010 1 xff09 到目前最新的稳定版Liberty xf
  • PX4FLOW光流模块DIY(含部分代码讲解)

    暑假有时间整理一下以前做的东西 xff0c 发发博客 xff0c 既给网友们学习也方便自己交流 今天讲讲我两年前从github学习的PX4FLOW光流模块 光流是视觉导航的重要部分 在运动检测和许多slam技术都使用到了光流 xff0c 但
  • 一路(16)相随,一起(17)前行

    2016年对于楼主来说 xff0c 是艰难的一年 xff0c 也是幸运的一年 xff0c 我想把我的故事说给你听 xff01 迈入IT行业已经快一年了 xff0c 但是实际上真正练习的时间只有仅仅的四个多月 xff0c 之前的专业是电子方面
  • 英文突然间隔变大

    之前总是遇到一个尴尬的问题 xff0c 就是写文档的时候间距突然变大 xff0c 调整段落间距并未没有效果 xff0c 例如这种 xff1a 解决办法 xff1a Shift 43 空格
  • JAVA从入门到精通(2)

    一 Java中的关键字 1 关键字 xff1a 具有一些特殊用途的词 2 注 xff1a 在程序中应用关键词需要慎重 xff01 3 常用的关键词 xff08 举例说明 xff09 interface xff1a 接口 class 类 pu
  • myeclipse闪退的问题

    之前遇到myeclipse的闪退 xff0c 探索了之后 xff0c 找到了方法 xff0c 今天早上又遇到这种问题 xff0c 按照上次的方法尝试是没有问题的 决定和大家分享 删除 workspace xff08 工作空间 xff09 m
  • 【损失函数系列】softmax loss损失函数详解

    1 损失函数 xff1a 损失函数 xff08 loss function xff09 是用来评测模型的预测值f x 与真实值Y的相似程度 xff0c 损失函数越小 xff0c 就代表模型的鲁棒性越好 xff0c 损失函数指导模型学习 根据
  • JAVA从入门到精通(14)-- 包装类

    一 包装类 1 基本数据类型是不具备对象的特征的 xff0c 比如基本数据类型不能调用方法 功能简单 xff0c 为了让基本数据类型具备对象的特性 xff0c Java为每个基本数据类型提供了一个包装类 2 3 包装类主要提供了两大类方法
  • JAVA从入门到精通(16)-- Java版JSON入门

    一 JSON课程介绍 1 JSON是行业内使用最为广泛的数据传输格式 定义 xff1a JSON是一种与开发语言无关的 轻量级的数据格式 全称是JavaScript Object Notation 优点 xff1a 易于人的阅读和编写 xf
  • JAVA从入门到精通(17)-- GSON

    一 GSON介绍 1 介绍 xff1a GSON最早由Google提出的开源的项目 xff0c 主页在github上 xff0c 解析json 二 GSON生成JSON数据 1 加入依赖 xff0c 创建包和类 2 创建Gson对象 Man