当前位置: 首页 > news >正文

Java中关于JSON的基本使用

Java中关于JSON的基本使用

Java中可以操作json的类库jar有很多,网上一找一大片,每种封装的jar包有自己的方法,需要查阅资料使用,但无非就是json转对象,对象转json这些

Java中常见的json类jar包:Gson,Jackson,fastjson

转json:map使用 { } 包围,数组和list使用 [ ] 包围

package demo_json;import com.google.gson.Gson;
import org.junit.jupiter.api.Test;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;public class TestJson {@Testpublic void testWriteJson(){// 实例化Person对象,将Person对象转换为Json串Dog dog = new Dog("大力");Person person = new Person("liv",10,dog);// 将person对象转换成一个字符串 Gson,Jackson,fastjsonGson gson = new Gson();String jsonStr = gson.toJson(person);//{"name":"liv","age":10,"dog":{"name":"大力"}}System.out.println(jsonStr);}@Testpublic void testReadJson(){// 假设jsonStr为json串String jsonStr = "{\"name\":\"liv\",\"age\":10,\"dog\":{\"name\":\"大力\"}}";// 反序列化Json串为PersonGson gson = new Gson();Person person = gson.fromJson(jsonStr, Person.class);// 获取Person对象的属性值System.out.println(person.getName());System.out.println(person.getAge());System.out.println(person.getDog().getName());}@Testpublic void testMap(){Map data = new HashMap();data.put("1","ada");data.put("2","dad");Gson gson = new Gson();String jsonMap = gson.toJson(data);{"1":"ada","2":"dad"}System.out.println(jsonMap);String mapString = "{\"1\":\"ada\",\"2\":\"dad\"}";Map map = gson.fromJson(mapString, Map.class);//{1=ada, 2=dad}System.out.println(map);}@Testpublic void testList(){// List 与数组转成json效果一样List data = new ArrayList<String>();data.add("1");data.add("2");data.add("3");Gson gson = new Gson();String json = gson.toJson(data);//["1","2","3"]System.out.println(json);String[] listString = {"1","2","3"};String json1 = gson.toJson(listString);//["1","2","3"]System.out.println(json1);//对象使用{}包围, list和数组使用[]包围Person person = new Person("张三",10,new Dog("大黄"));List<Person> persons = new ArrayList<>();persons.add(person);String json2 = gson.toJson(persons);//[{"name":"张三","age":10,"dog":{"name":"大黄"}}]System.out.println(json2);}
}
package demo_json;public class Dog {private String name;public Dog() {}public Dog(String name) {this.name = name;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}
package demo_json;public class Person {private String name;private int age;private Dog dog;public Person(String name, int age, Dog dog) {this.name = name;this.age = age;this.dog = dog;}public Person(){}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public Dog getDog() {return dog;}public void setDog(Dog dog) {this.dog = dog;}
}

相关文章:

Java中关于JSON的基本使用

Java中关于JSON的基本使用 Java中可以操作json的类库jar有很多&#xff0c;网上一找一大片&#xff0c;每种封装的jar包有自己的方法&#xff0c;需要查阅资料使用&#xff0c;但无非就是json转对象&#xff0c;对象转json这些 Java中常见的json类jar包&#xff1a;Gson,Jackso…...

简化的动态稀疏视觉Transformer的PyTorch代码

存一串代码&#xff08;简化的动态稀疏视觉Transformer的PyTorch代码&#xff09; import torch import torch.nn as nn import torch.nn.functional as F class DynamicSparseAttention(nn.Module): def __init__(self, dim, num_heads8, dropout0.1): super().__init__()…...

PADS多层板减少层数

前提 PADS是硬件工程师必备的画图软件&#xff0c;相信很多朋友遇到过为降低成本把6层板改为4层&#xff0c;或8层改为6层的经历&#xff0c;正常是把不需要的两层上所有东西删掉&#xff0c;然后修改层设置&#xff0c;下面举例说明。 首先是将要删除的层上的数据全部删除&a…...

你需要提供管理员权限才能删除此文件夹解决方法

立即高级启动 windows10 搜索“设置”&#xff0c;然后“更新和安全””->“恢复”->“立即重新启动” windows11 搜索“设置”&#xff0c;然后“Windows更新”->“更新历史记录”->“恢复”->“立即重新启动” 疑难解答 点击“疑难解答” 高级选项 启…...

螺旋折线(蓝桥杯18G)

、 #include<iostream> using namespace std; typedef pair<int,int> Dot;//存储坐标 int dy[] { 0,1,0,-1 }; int dx[] { -1,0,1,0 }; int main() {int direction 0,x,y,dis 0;Dot pos make_pair(0,0);cin >> x >> y;for (int i 1;; i) {for (…...

常见的数据仓库有哪些?

数据仓库(Data Warehouse,简称数仓)是企业用于存储、管理和分析大量数据的重要工具,其核心目标是通过整合和处理数据,为决策提供高质量、一致性和可信度的数据支持。在构建和使用数仓时,选择合适的工具和技术至关重要。以下是常见的数仓工具及其特点的详细介绍: 1. Hiv…...

数据科学之数据管理|NumPy数据管

一、Numpy介绍 (一) 什么是numpy NumPy是Python中科学计算的基础包。它是一个Python库,提供多维数组对象,各种派生对象(如掩码数组和矩阵),以及用于数组快速操作的各种API,有包括数学、逻辑、形状操作、排序、选择、输入输出、离散傅立叶变换、基本线性代数,基本统计运…...

LSTM 学习笔记 之pytorch调包每个参数的解释

0、 LSTM 原理 整理优秀的文章 LSTM入门例子&#xff1a;根据前9年的数据预测后3年的客流&#xff08;PyTorch实现&#xff09; [干货]深入浅出LSTM及其Python代码实现 整理视频 李毅宏手撕LSTM [双语字幕]吴恩达深度学习deeplearning.ai 1 Pytorch 代码 这里直接调用了nn.l…...

ASUS/华硕飞行堡垒9 FX506H FX706H 原厂Win10系统 工厂文件 带ASUS Recovery恢复

华硕工厂文件恢复系统 &#xff0c;安装结束后带隐藏分区&#xff0c;带一键恢复&#xff0c;以及机器所有的驱动和软件。 支持型号&#xff1a;FX506HC, FX506HE, FX506HM, FX706HC, FX706HE, FX706HM, FX506HHR, FX706HMB, FX706HEB, FX706HCB, FX506HMB, FX506HEB, FX506HC…...

Unity使用iTextSharp导出PDF-04图形

坐标系 pdf文档页面的原点&#xff08;0&#xff0c;0&#xff09;在左下角&#xff0c;向上为y,向右为x。 文档的PageSize可获取页面的宽高数值 单位&#xff1a;像素 绘制矢量图形 使用PdfContentByte类进行绘制&#xff0c;注意文档打开后才有此对象的实例。 绘制方法 …...

JDBC如何连接数据库

首先&#xff0c;我们要去下载JDBC的驱动程序 官网下载地址:https://downloads.mysql.com/archives/c-j/ 选择最新版本就可以 然后回到我们idea点击file - project Structure - Modules&#xff0c; 就行了 参考1&#xff1a;如何解决JDBC连接数据库出现问题且对进行数据库操…...

Unity URP的2D光照简介

官网工程&#xff0c;包括2d光照&#xff0c;动画&#xff0c;动效介绍&#xff1a; https://unity.com/cn/blog/games/happy-harvest-demo-latest-2d-techniques https://docs.unity3d.com/6000.0/Documentation/Manual/urp/Lights-2D-intro.html 人物脸部光照细节和脚上的阴影…...

【IC】AI处理器核心--第二部分 用于处理 DNN 的硬件设计

第 II 部分 用于处理 DNN 的硬件设计 第 3 章 关键指标和设计目标 在过去的几年里&#xff0c;对 DNN 的高效处理进行了大量研究。因此&#xff0c;讨论在比较和评估不同设计和拟议技术的优缺点时应考虑的关键指标非常重要&#xff0c;这些指标应纳入设计考虑中。虽然效率通常…...

从 0 开始本地部署 DeepSeek:详细步骤 + 避坑指南 + 构建可视化(安装在D盘)

个人主页&#xff1a;chian-ocean 前言&#xff1a; 随着人工智能技术的迅速发展&#xff0c;大语言模型在各个行业中得到了广泛应用。DeepSeek 作为一个新兴的 AI 公司&#xff0c;凭借其高效的 AI 模型和开源的优势&#xff0c;吸引了越来越多的开发者和企业关注。为了更好地…...

如何本地部署DeepSeek集成Word办公软件

目录 本地部署DeepSeek安装Ollama下载并部署DeepSeek模型安装ChatBox客户端&#xff08;可选&#xff09; 将DeepSeek集成到Word修改Word中的VBA代码执行操作 ✍️相关问答如何在Word中安装和使用VBA宏DeepSeek模型有哪些常见的API接口&#xff1f;如何优化DeepSeek在Word中的集…...

Centos10 Stream 基础配置

NetworkManger 安装 dnf install NetworkManager 查看网络配置 nmcli [rootCentos-S-10 /]# nmcli ens33&#xff1a;已连接 到 ens33"Intel 82545EM"ethernet (e1000), 00:0C:29:08:3E:71, 硬件, mtu 1500ip4 默认inet4 192.168.31.70/24route4 default …...

时间序列分析(三)——白噪声检验

此前篇章&#xff1a; 时间序列分析&#xff08;一&#xff09;——基础概念篇 时间序列分析&#xff08;二&#xff09;——平稳性检验 一、相关知识点 白噪声的定义&#xff1a;白噪声序列是一种在统计学和信号处理中常见的随机过程&#xff0c;由一系列相互独立、具有相同…...

ThinkPHP8视图赋值与渲染

【图书介绍】《ThinkPHP 8高效构建Web应用》-CSDN博客 《2025新书 ThinkPHP 8高效构建Web应用 编程与应用开发丛书 夏磊 清华大学出版社教材书籍 9787302678236 ThinkPHP 8高效构建Web应用》【摘要 书评 试读】- 京东图书 在控制器操作中&#xff0c;使用view函数可以传入视图…...

对贵司需求的PLC触摸的远程调试的解决方案

远程监控技术解决方案 一、需求痛点分析 全球设备运维响应滞后&#xff08;平均故障处理周期>72小时&#xff09;客户定制化需求频繁&#xff08;每月PLC程序修改需求超50次&#xff09;人力成本高企&#xff08;单次跨国差旅成本约$5000&#xff09;多品牌PLC兼容需求&am…...

2.12寒假作业

web&#xff1a;[HDCTF 2023]Welcome To HDCTF 2023 可以直接玩出来 但是这边还是看一下怎么解吧&#xff0c;看一下js代码&#xff0c;在js.game里面找到一个类似brainfuck加密的字符串 解密可以得到答案&#xff0c;但是后面我又去了解了一下let函数let命令、let命令 let命…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入&#xff0c;一个是通过INMP441麦克风模块采集音频&#xff0c;一个是通过PCM5102A模块播放音频&#xff0c;那如果我们将两者结合起来&#xff0c;将麦克风采集到的音频通过PCM5102A播放&#xff0c;是不是就可以做一个扩音器了呢…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

LRU 缓存机制详解与实现(Java版) + 力扣解决

&#x1f4cc; LRU 缓存机制详解与实现&#xff08;Java版&#xff09; 一、&#x1f4d6; 问题背景 在日常开发中&#xff0c;我们经常会使用 缓存&#xff08;Cache&#xff09; 来提升性能。但由于内存有限&#xff0c;缓存不可能无限增长&#xff0c;于是需要策略决定&am…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)

macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 &#x1f37a; 最新版brew安装慢到怀疑人生&#xff1f;别怕&#xff0c;教你轻松起飞&#xff01; 最近Homebrew更新至最新版&#xff0c;每次执行 brew 命令时都会自动从官方地址 https://formulae.…...

云原生周刊:k0s 成为 CNCF 沙箱项目

开源项目推荐 HAMi HAMi&#xff08;原名 k8s‑vGPU‑scheduler&#xff09;是一款 CNCF Sandbox 级别的开源 K8s 中间件&#xff0c;通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度&#xff0c;为容器提供统一接口&#xff0c;实现细粒度资源配额…...

软件工程 期末复习

瀑布模型&#xff1a;计划 螺旋模型&#xff1a;风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合&#xff1a;模块内部功能紧密 模块之间依赖程度小 高内聚&#xff1a;指的是一个模块内部的功能应该紧密相关。换句话说&#xff0c;一个模块应当只实现单一的功能…...

内窥镜检查中基于提示的息肉分割|文献速递-深度学习医疗AI最新文献

Title 题目 Prompt-based polyp segmentation during endoscopy 内窥镜检查中基于提示的息肉分割 01 文献速递介绍 以下是对这段英文内容的中文翻译&#xff1a; ### 胃肠道癌症的发病率呈上升趋势&#xff0c;且有年轻化倾向&#xff08;Bray等人&#xff0c;2018&#x…...

window 显示驱动开发-如何查询视频处理功能(三)

​D3DDDICAPS_GETPROCAMPRANGE请求类型 UMD 返回指向 DXVADDI_VALUERANGE 结构的指针&#xff0c;该结构包含特定视频流上特定 ProcAmp 控件属性允许的值范围。 Direct3D 运行时在D3DDDIARG_GETCAPS的 pInfo 成员指向的变量中为特定视频流的 ProcAmp 控件属性指定DXVADDI_QUER…...

[特殊字符] Spring Boot底层原理深度解析与高级面试题精析

一、Spring Boot底层原理详解 Spring Boot的核心设计哲学是约定优于配置和自动装配&#xff0c;通过简化传统Spring应用的初始化和配置流程&#xff0c;显著提升开发效率。其底层原理可拆解为以下核心机制&#xff1a; 自动装配&#xff08;Auto-Configuration&#xff09; 核…...