浅谈请求中数据转换

目录

    • [1. 前端 JS 数据类型](#1. 前端 JS 数据类型)
    • [2. JSON 数据类型(数据传输格式)](#2. JSON 数据类型(数据传输格式))
    • [3. 后端 Java 数据类型](#3. 后端 Java 数据类型)
    • [4. 后端序列化框架 Fastjson && Jackson 转换](#4. 后端序列化框架 Fastjson && Jackson 转换)
      • [4.1. JSON 转换 Java](#4.1. JSON 转换 Java)
      • [4.2. Java 转换 JSON](#4.2. Java 转换 JSON)

1. 前端 JS 数据类型

数据类型 示例
String var str = '张三'
Number (数字) var age = 18
Boolean (布尔值) var str = true
Null (null) var a = null
Undefined (未定义) var b = undefined
Symbol let name = Symbol()
Object var car = {name:"Fiat", model:500, color:"white"}
Array (数组) var arr = ['1', '2', '3']
Function (函数) function myFunction(name,job){ alert("Welcome " + name + ", the " + job);}
RegExp (正则) new RegExp("/^1[34578]\d{9}/").test("12376337373736")
Date (时间) var today = new Date()

2. JSON 数据类型(数据传输格式)

数据类型 示例
String (字符串) {"name": "张三"}
Number (数字) {"amount": 16180.45}
Boolean (布尔值) {"isMan": true}
Null (null) {"address": null}
Object (对象) {"class": {"name": "1年级3班", "count": 32}}
Arrray (数组) {"list": [{"name": "张三"}, {"name": "李四"}]}

3. 后端 Java 数据类型

数据类型 示例
Byte (字节型) byte b = 100
Short (短整型) short s = 10
Char (字符型) char c = 'a'
Boolean (布尔型) boolean b = true
Int (整型) int i = 100
Long (长整型) long l = 1234567890123L
Float (单精度浮点) float f = 1.1F
Double (双精度浮点) double d = 1.21D
String (字符串) String name = "张三"
BigDecimal BigDecimal amount = new BigDecimal("1.11111")
Date (时间型) Date date = new Date()

4. 后端序列化框架 Fastjson && Jackson 转换

4.1. JSON 转换 Java

转换前 Fastjson 转换后 Jackson 转换后
String String String
Number Integer: 不超长度的整型 Long:超 Integer 的整型 BigDecimal:小数 Date:时间 Integer: 不超长度的整型 Long:超 Integer 的整型 BigDecimal:小数 Date:时间
Boolean Boolean Boolean
Null Null Null
Array JSONArray ArrayList

4.2. Java 转换 JSON

Fastjson 转换前 Jackson 转换前 转换后
String String String
数字类型 (Byte、Short、Int、Long、Float、Double 等等) 数字类型 (Byte、Short、Int、Long、Float、Double 等等) Number
BigDecimal BigDecimal Number
Date Date Number
Boolean Boolean Boolean
Null Null Null
JSONArray、List、Array、ArrayList 等等 List、Array、ArrayList 等等 Array
相关推荐
ZhengEnCi13 分钟前
JPA-SQL 语句使用完全指南-自动生成vs手动编写的智能选择策略
java·spring boot·sql
速易达网络22 分钟前
Vue3 原生移动应用开发来了
前端·javascript·css
渣哥24 分钟前
别再乱用了!Spring AOP 与 AspectJ 的区别比你想的复杂
javascript·后端·面试
毕设源码-钟学长25 分钟前
【开题答辩全过程】以 菜谱分享平台为例,包含答辩的问题和答案
java·eclipse
患得患失94931 分钟前
【Turborepo】【Next】 Turborepo + Next.js 前后端精简搭建笔记(带官网)
开发语言·javascript·笔记
可DRAK鸦|・ω・`)33 分钟前
docker后端jar包本地构建镜像
java·docker·容器·jar
小谭鸡米花1 小时前
高德地图电子围栏/地图选区/地图打点
前端·javascript·vue.js
代码不停1 小时前
JavaEE初级——Thread多线程
java·jvm·java-ee
xxxxxxllllllshi1 小时前
Cookie、Session、JWT、SSO,网站与 APP 登录持久化与缓存
java·开发语言·jvm·数据结构·缓存·面试
西瓜树枝1 小时前
解决 JS 大整数精度丢失?一文读懂 BigInt 的底层逻辑与实战规则
前端·javascript