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

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字符串   转对象

演示下稍微复杂些的


http://www.kler.cn/a/134015.html

相关文章:

  • 开源项目推荐——OpenDroneMap无人机影像数据处理
  • Javaweb—Ajax与jQuery请求
  • 基于微信小程序的农场管理系统的设计与实现,LW+源码+讲解
  • 除了 Postman,还有什么好用的 API 调试工具吗
  • Hadoop(环境搭建篇)
  • 服务号消息折叠折射出的腾讯傲慢:上云会不会也一样?
  • 系列二十六、idea安装javap -c
  • Linux服务器挂载另一台服务器的文件夹(mount)
  • 力扣刷题篇之位运算
  • 力扣83. 删除排序链表中的重复元素(java常规解法 + 建立虚拟头节点)
  • springBoot 配置druid多数据源 MySQL+SQLSERVER
  • sqli-labs关卡20(基于http头部报错盲注)通关思路
  • vite vue3安装element-plus
  • 【开源】基于Vue.js的开放实验室管理系统的设计和实现
  • 【Java 进阶篇】Ajax 入门:打开前端异步交互的大门
  • 【Kingbase FlySync】命令模式:部署双轨并行,并实现切换同步
  • Git 简介及使用
  • 手机,蓝牙开发板,TTL/USB模块,电脑四者之间的通讯
  • mybatis使用xml形式配置
  • c# 设计一个图书管理系统
  • react 手机端 rc-table列隐藏(根据相关条件是否隐藏)、实现图片上传操作
  • MIB 6.S081 System calls(1)using gdb
  • 设计模式-适配器-笔记
  • 算法之路(二)
  • 【NI-DAQmx入门】校准
  • 05 robotFrameWork+selenium2library 一维数组的使用