首页 > 其他分享 >Gson与FastJson详解

Gson与FastJson详解

时间:2023-12-08 14:32:42浏览次数:24  
标签:FastJson 转换 对象 json JSON 详解 字符串 Gson

Gson与FastJson详解

Java与JSON

做什么?

将Java中的对象 快速的转换为 JSON格式的字符串.

将JSON格式的字符串, 转换为Java的对象.

Gson

将对象转换为JSON字符串

转换JSON字符串的步骤:

引入JAR包

在需要转换JSON字符串的位置编写如下代码即可:

String json = new Gson().toJSON(要转换的对象);

案例:

Book b = BookDao.find();

String json = new Gson().toJson(b);

System.out.println(json);

将JSON字符串转换为对象

引入JAR包

在需要转换Java对象的位置, 编写如下代码:

对象 = new Gson().fromJson(JSON字符串,对象类型.class);

案例:

String json = “{“id”:1,“name”:“金苹果”,“author”:“李”,“info”:“嘿嘿嘿嘿嘿嘿”,“price”:198.0}”;

Book book = new Gson().fromJson(json, Book.class);

System.out.println(book);

FastJson

将对象转换为JSON字符串

转换JSON字符串的步骤:

引入JAR包

在需要转换JSON字符串的位置编写如下代码即可:

String json=JSON.toJSONString(要转换的对象);

案例:

Book b = BookDao.find();

String json=JSON.toJSONString(b);

System.out.println(json);

将JSON字符串转换为对象

引入JAR包

在需要转换Java对象的位置, 编写如下代码:

类型 对象名=JSON.parseObject(JSON字符串, 类型.class);

List<类型> list=JSON.parseArray(JSON字符串,类型.class);

案例:

String json = “{“id”:1,“name”:“金苹果”,“author”:“李杰”,“info”:“嘿嘿嘿嘿嘿嘿”,“price”:198.0}”;

Book book = JSON.parseObject(json, Book.class);

System.out.println(book);

标签:FastJson,转换,对象,json,JSON,详解,字符串,Gson
From: https://blog.51cto.com/u_16207997/8737641

相关文章

  • ResourceBundle使用详解
    ResourceBundle使用详解这个类主要用来解决国际化和本地化问题。国际化和本地化可不是两个概念,两者都是一起出现的。可以说,国际化的目的就是为了实现本地化。比如对于“取消”,中文中我们使用“取消”来表示,而英文中我们使用“cancel”。若我们的程序是面向国际的(这也是软件发展的......
  • C# static的用法详解
    https://www.cnblogs.com/baxianhua/p/9082820.html 有的东西你天天在用,但未必就代表你真正了解它,正如我之前所了解的static。一、静态类静态类与非静态类的重要区别在于静态类不能实例化,也就是说,不能使用new关键字创建静态类类型的变量。在声明一个类时使用static关......
  • Springboot+FastJson实现解析第三方http接口json数据为实体类(时间格式化转换、字段包
    场景若依前后端分离版手把手教你本地搭建环境并运行项目:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/108465662在上面搭建SpringBoot项目的基础上,并且在项目中引入fastjson、hutool、lombok等所需依赖后。系统需要对接第三方http接口获取返回的数据,并将json数......
  • 神经网络优化篇:详解偏差,方差(Bias /Variance)
    偏差,方差注意到,几乎所有机器学习从业人员都期望深刻理解偏差和方差,这两个概念易学难精,即使自己认为已经理解了偏差和方差的基本概念,却总有一些意想不到的新东西出现。关于深度学习的误差问题,另一个趋势是对偏差和方差的权衡研究甚浅,可能听说过这两个概念,但深度学习的误差很少权衡......
  • Unity3D 开发中的触摸事件和键盘事件详解
    前言Unity3D是一款强大的游戏开发引擎,可以用于开发各种类型的游戏,包括PC、移动设备和虚拟现实等平台。在Unity3D开发中,触摸事件和键盘事件是非常重要的交互方式。本文将详细介绍Unity3D开发中的触摸事件和键盘事件,包括技术详解和代码实现。对惹,这里有一个游戏开发交流小组,希望大......
  • Unity3D 个性化时间进度条实现详解
    前言时间进度条在游戏开发中是一个常见的UI元素,它可以用来显示游戏中某个任务或者动作的剩余时间。在Unity3D中,我们可以通过一些技术手段来实现一个个性化的时间进度条,以满足游戏开发的需求。本文将详细介绍如何使用Unity3D实现个性化的时间进度条,包括技术详解和代码实现。一、技......
  • Python 深拷贝和浅拷贝详解
    import logging 一、深拷贝和浅拷贝概念理解1、浅拷贝,指的是重新分配一块内存,创建一个新的对象,但里面的元素是原对象中各个子对象的引用。2、深拷贝,是指重新分配一块内存,创建一个新的对象,并且将原对象中的元素,以递归的方式,通过创建新的子对象拷贝到新对象中。因此,新对象和......
  • 详解网络数据包接受的过程
    在tcp_v4_rcv中,得到TCP的头之后,我们可以开始处理TCP层的事情。因为TCP层是分状态的,状态被维护在数据结构structsock里面,因而我们要根据IP地址以及TCP头里面的内容,在tcp_hashinfo中找到这个包对应的structsock,从而得到这个包对应的连接的状态。接下来,我们就根据......
  • Thread常见方法:join 方法详解
    为什么需要join下面的代码执行,打印r是什么?staticintr=0;publicstaticvoidmain(String[]args)throwsInterruptedException{test1();}privatestaticvoidtest1()throwsInterruptedException{log.debug("开始");Threadt1=newThread(()->{log.de......
  • HTTPS 请求中的证书验证详解(Python版)
    在网络通信中,HTTPS是一种通过SSL/TLS加密的安全HTTP通信协议。证书在HTTPS中扮演着至关重要的角色,用于验证服务器身份并加密数据传输。本文将深入探讨Python中HTTPS请求中的证书相关内容,并提供详细的代码示例。1.证书的基本概念SSL/TLS证书是一种由证书颁发机构签发的......