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

浅谈请求中数据转换

目录

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

1. 前端 JS 数据类型

数据类型示例
Stringvar str = '张三'
Number (数字)var age = 18
Boolean (布尔值)var str = true
Null (null)var a = null
Undefined (未定义)var b = undefined
Symbollet name = Symbol()
Objectvar 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 = "张三"
BigDecimalBigDecimal amount = new BigDecimal("1.11111")
Date (时间型)Date date = new Date()

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

4.1. JSON 转换 Java

转换前Fastjson 转换后Jackson 转换后
StringStringString
NumberInteger: 不超长度的整型
Long:超 Integer 的整型
BigDecimal:小数
Date:时间
Integer: 不超长度的整型
Long:超 Integer 的整型
BigDecimal:小数
Date:时间
BooleanBooleanBoolean
NullNullNull
ArrayJSONArrayArrayList

4.2. Java 转换 JSON

Fastjson 转换前Jackson 转换前转换后
StringStringString
数字类型 (Byte、Short、Int、Long、Float、Double 等等)数字类型 (Byte、Short、Int、Long、Float、Double 等等)Number
BigDecimalBigDecimalNumber
DateDateNumber
BooleanBooleanBoolean
NullNullNull
JSONArray、List、Array、ArrayList 等等List、Array、ArrayList 等等Array

相关文章:

  • 程序猿成长之路之数据挖掘篇——决策树分类算法(1)——信息熵和信息增益
  • java:JWT的简单例子
  • This content is blocked. Contact the site owner to fix the issue.
  • 你只是重新发现了一些东西
  • 【2024.6.22】今日科技时事:科技前沿大事件
  • 【C++提高编程-11】----C++ STL常用集合算法
  • 【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 生成哈夫曼树(100分) - 三语言AC题解(Python/Java/Cpp)
  • 鸿蒙原生App开发之:套用混合app开发思路
  • 用java写一个二叉树翻转
  • 如何获得一个Oracle 23ai数据库(vagrant box)
  • webpack总结16--webpack入门学习
  • 如何在 Ubuntu 14.04 上使用 Iptables 实现基本防火墙模板
  • 栈实现四则运算
  • 视频讲解|基于模型预测算法的含储能微网双层能量管理模型【mpc】
  • C++初学者指南第一步---12.引用
  • 分享的文章《人生如棋》
  • 收藏网友的 源程序下载网
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • Go 语言编译器的 //go: 详解
  • iOS小技巧之UIImagePickerController实现头像选择
  • Mysql数据库的条件查询语句
  • mysql外键的使用
  • Rancher如何对接Ceph-RBD块存储
  • Redis 中的布隆过滤器
  • vue-cli在webpack的配置文件探究
  • webgl (原生)基础入门指南【一】
  • 多线程事务回滚
  • 分布式事物理论与实践
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 看域名解析域名安全对SEO的影响
  • 盘点那些不知名却常用的 Git 操作
  • 扑朔迷离的属性和特性【彻底弄清】
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 驱动程序原理
  • 三分钟教你同步 Visual Studio Code 设置
  • 使用API自动生成工具优化前端工作流
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 学习JavaScript数据结构与算法 — 树
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 用Canvas画一棵二叉树
  • 容器镜像
  • ​插件化DPI在商用WIFI中的价值
  • # 飞书APP集成平台-数字化落地
  • #14vue3生成表单并跳转到外部地址的方式
  • (2024,Flag-DiT,文本引导的多模态生成,SR,统一的标记化,RoPE、RMSNorm 和流匹配)Lumina-T2X
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (图)IntelliTrace Tools 跟踪云端程序
  • (五)关系数据库标准语言SQL
  • (一)Thymeleaf用法——Thymeleaf简介