FastJsonAPI

maven项目

pom.xml

<dependencies>
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>2.0.26</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.2</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>RELEASE</version>
        <scope>compile</scope>
    </dependency>
</dependencies>

 实体类测试

@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class Student {

    private Integer id;
    private String name;
    private Integer age;
}

先了解下JSONObject    继承JSON   实现Map<String,Object>  那么JSONObject既是JSON也是个Map

JSONArray继承JSON   实现List<Object>  那么JSONArray既是JSON也是List

JSONObject一般称为JSON对象    JSONArray称为JSON数组

而我们经常需要将

自定义对象    JSON对象(JSONObject)或数组(JSONArray)  String(一般叫JSON字符串)

这三者之间经常需要做转换

在前后端交互中无论返回的是JSON字符串   还是JSON对象(JSONObject)或者JSON数组(JSONArray)看起来都是一样的  

就是次序好像乱了

数组好像都正常

在实体类上加@JSONType(order={"xxx","xxx","xxx"})进行排序

所以这点,在一些特殊场合需要注意

某种时候也可以这么干

Map<String, Object> resultMap = new LinkedHashMap<>();
resultMap.put("id", s.getId());
resultMap.put("name", s.getName());
resultMap.put("age", s.getAge());

上面例子就是说其实返回JSON   或者JSON字符串(String类型)  关系不大,以及排序问题

JSONObject和JSONObject都是JSON的子类  相对来说 子类的方法更多一些

所以

在对对象与JSON对象和String三者转换时候常常会选用JSONObject   

在对数组与JSON数组和String三者转换时候常选用JSONArray

对象  转JSON  或者String

JSON字符串   转对象

演示下稍微复杂些的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/156536.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OpenCV入门5——OpenCV的算术与位运算

文章目录 图像的加法运算图像的减法运算图像的乘除运算图像的融合OpenCV位运算-非操作OpenCV位操作-与运算OpenCV位操作-或与异或为图像添加水印 图像的加法运算 # -*- coding: utf-8 -*- import cv2 import numpy as npimg cv2.imread(E://pic//4.jpg)# 图的加法运算就是矩阵…

11月24日 AI+软件研发数字峰会(AiDD)即将启航!

▼ 伴随着人工智能&#xff08;AI&#xff0c;特别是大语言模型&#xff09;在众多行业领域的广泛应用及其带来的颠覆性变革&#xff0c;软件的开发模式、方式和实践都可能会发生巨大的变化。为助力更多企业在人工智能的浪潮中乘风破浪&#xff0c;“AI软件研发数字峰会&#x…

ssm+vue的OA办公系统(有报告)。Javaee项目,ssm vue前后端分离项目。

演示视频&#xff1a; ssmvue的OA办公系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;ssm vue前后端分离项目。 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 项目介绍&a…

OpenCV技术应用(3)— 把.png图像保存为.jpg图像

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。本节课就手把手教你如何把.png图像保存为.jpg图像&#xff0c;希望大家学习之后能够有所收获~&#xff01;&#x1f308; 目录 &#x1f680;1.技术介绍 &#x1f680;2.实现代码 &#x1f680;1.技术介绍 如果在电脑某…

【C语言】深入理解数据表示与存储

文章目录 1.分析上述源程序中的变量在机器内是如何表示的1.1.并给出变量在内存中的存储情况&#xff08;变量占多少个字节&#xff0c;每个字节的地址和存放的数据是多少&#xff09;1.2.说明其存放顺序&#xff08;大端、小端次序&#xff1f;&#xff09;1.3.对齐方式&#x…

统信UOS_麒麟KYLINOS禁用USB存储

原文链接&#xff1a;统信UOS/麒麟KYLINOS禁用USB存储 hello&#xff0c;大家好啊&#xff0c;今天给大家带来一篇在统信UOS/麒麟KYLINOS禁用USB存储的文章&#xff0c;文章通过三种方式&#xff1a;1、在文件管理器中通过图形化方式移除USB&#xff1b;2、通过禁用USB存储模块…

Bumptop——3D桌面一键get

今天&#xff0c;博主给大家带来一款免费、炫酷的桌面真理工具——Bumptop。这是一款可使桌面变为极酷3D桌面的软件。采用极酷的3D技术&#xff0c;把图标立体化&#xff0c;同时拖拽动作也是别有动感&#xff0c;充满智慧&#xff0c;可以完全抛弃原先单调的2D和伪3D界面&…

【Axure教程】滑动内容选择器

滑动内容选择器通常是一种用户界面组件&#xff0c;允许用户通过滑动手势在一组内容之间进行选择。这种组件可以在移动应用程序或网页中使用&#xff0c;以提供直观的图片选择体验。 那今天就教大家如何用中继器制作一个滑动内容选择器&#xff0c;我们会以滑动选择电影为案例…

mysql binlog

binlog日志介绍 什么是 binlog binlog是server层共有的&#xff0c;是记录的数据更新历史&#xff0c;主要用来做主从同步和数据的实时备份。 binlog 怎么开启 mysql的配置文件添加相关配置并重启mysql # 1. linux打开mysql配置文件 vi /etc/my.cnf# 2. 添加binlog配置 [mysql…

Redis怎么保证数据不丢失

目录 一、Redis使用持久化保证数据不丢失 二、Redis 持久化的三种方式 三、混合持久化的流程 一、Redis使用持久化保证数据不丢失 Redis 中的数据是存放在内存中的&#xff0c;这样可以保证 Redis 高效的运行&#xff0c;然而内存中的数据会随着系统的重启而丢失&#xff0c;那…

栈与队列练习题

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; ​&#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382; &#x1f389;&#x1f389;&#x1f389…

Python基础入门----如何通过conda搭建Python开发环境

文章目录 使用 conda 搭建Python开发环境是非常方便的,它可以帮助你管理Python版本、依赖库、虚拟环境等。以下是一个简单的步骤,演示如何通过 conda 搭建Python开发环境: 安装conda: 如果你还没有安装 conda,首先需要安装Anaconda或Miniconda。Anaconda是一个包含很多数据…

Pytorch D2L Subplots方法对画图、图片处理

问题代码 def show_images(imgs, num_rows, num_cols, titlesNone, scale1.5): #save """绘制图像列表""" figsize (num_cols * scale, num_rows * scale) _, axes d2l.plt.subplots(num_rows, num_cols, figsizefigsize) axes axes.flatten…

全新叙事赛道:诺亚引领不良资产合成潮流,DeFi生态再添“万亿”动力

在全球DeFi领域&#xff0c;一场革命性的变革正在悄然兴起。诺亚项目以其独特的商业模式和前瞻性的愿景成为DeFi 2.0的一股新力量。作为全球首家专注于不良资产合成铸币的平台&#xff0c;诺亚项目凭借其强大的经济模型和全新的叙事赛道&#xff0c;正迅速崭露头角&#xff0c;…

用requests库下载文件时的挂起问题:一步步诊断与解决方案

在使用 requests 库下载一个大小为125KB的文件时&#xff0c;用户遇到了一个问题&#xff0c;下载进程在代码的特定行挂起了。用户已经检查了操作系统的内存&#xff0c;发现大约有2GB的空闲内存可用。用户正在使用 requests 库的2、28、1版本&#xff0c;并寻求帮助来调试这个…

【LeetCode刷题-滑动窗口】--340.至多包含K个不同字符的最长子串

340.至多包含K个不同字符的最长子串 class Solution {public int lengthOfLongestSubstringKDistinct(String s, int k) {int len s.length();if(len < k){return len;}//滑动窗口的左右指针int left 0,right 0;//定义一个哈希映射HashMap<Character,Integer> hash…

「Verilog学习笔记」用3-8译码器实现全减器

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 分析 首先列出3-8译码器和全减器的真值表 全减器真值表如下 3-8译码器真值表如下 timescale 1ns/1nsmodule decoder_38(input E ,input A0 …

【双十二预售】9.9元就能学《人工智能导论》!打卡赢红包,还有B站大会员等你领

双十二买什么最划算&#xff1f;那当然是知识&#xff01;知识是永存的&#xff01;是无价的&#xff01; Mo 平台活动力度拉满&#xff01;&#xff01;&#xff01; 原价 199.9 元的浙江大学《人工智能导论》课程 现在只要 9.9 元&#xff01;&#xff01;&#xff01; 参…

专家呼吁:家长应承担起数字时代家庭教育新责任

在教育数字化转型的推进下,教育理念不断发生变化,学校教育不再是唯一的主角,家庭教育开始受到重视,家庭也正在逐渐成为新的学习中心。 2022年《家庭教育促进法》正式推行实施,进一步强调了家庭教育在孩子成长过程中的重要地位以及父母在孩子教育于成长过程中不可或缺的重要作用…

总结 CNN 模型:将焦点转移到基于注意力的架构

一、说明 在计算机视觉时代&#xff0c;卷积神经网络&#xff08;CNN&#xff09;几十年来一直是主导范式。直到 2021 年 Vision Transformers (ViTs) 出现&#xff0c;这个领域才开始发生变化。现在&#xff0c;是时候采用受 Transformer 架构启发的基于注意力的模型了&#x…