浅谈请求中数据转换

目录

    • [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
相关推荐
玫城4 小时前
[ VUE ] 封装通用数组校验组件,el-input内使用
前端·javascript·vue.js
kk哥88994 小时前
如何快速掌握JavaSE的核心语法?
java
我是一只小青蛙8884 小时前
AVL树:平衡二叉搜索树原理与C++实战
java·jvm·面试
浩瀚地学5 小时前
【Java】JDK8的一些新特性
java·开发语言·经验分享·笔记·学习
XXOOXRT6 小时前
基于SpringBoot的加法计算器
java·spring boot·后端·html5
阿崽meitoufa6 小时前
JVM虚拟机:垃圾收集器和判断对象是否存活的算法
java·jvm·算法
我是苏苏6 小时前
C#高级:使用ConcurrentQueue做一个简易进程内通信的消息队列
java·windows·c#
heartbeat..8 小时前
数据库基础知识体系:概念、约束、范式与国产产品
java·数据库·学习笔记·国产数据库
弓.长.8 小时前
React Native 鸿蒙跨平台开发:实现一个多功能单位转换器
javascript·react native·react.js