位置: IT常识 - 正文

浅谈 JSON 对象和 FormData 相互转换,打通前端与后端的通信血脉(json与对象的区别)

编辑:rootadmin
浅谈 JSON 对象和 FormData 相互转换,打通前端与后端的通信血脉 前言

推荐整理分享浅谈 JSON 对象和 FormData 相互转换,打通前端与后端的通信血脉(json与对象的区别),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:json对象与json字符串的区别,json与对象的区别,json对象是什么类型,json对象和javascript对象,json与对象,json对象和java对象的区别,json对象和java对象的区别,json对象和javascript对象,内容如对您有帮助,希望把文章链接给更多的朋友!

大家都知道,前端在和后台进行交互联调时,肯定避免不了要传递参数,一般情况下,params 在 get 请求中使用,而 post 请求下,我们有两种常见的传参方式: JSON 对象格式和 formData 格式,但是一些场景是需要我们对这两种数据格式进行转换的,例如表单提交,有些是 JSON 对象格式的数据,有些是 FormData 格式的数据,这个时候就需要我们对其进行转换。

常见的 POST 提交数据方式1. application/x-www-form-urlencoded

表单格式提交数据,通过 form 标签的 action 属性,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据。

2. multipart/form-data

这也是一个常见的 post 数据提交的方式,我们使用表单上传文件时,就要让 form 的 enctype 等于这个值,多用于文件上传。

3. application/json

application/json 这个 Content-Type 作为响应头大家肯定不陌生,客观来说,现在越来越多的人把它作为请求头,用来告诉服务端消息主体是序列化后的 json 字符串。由于 json 规范的流行,除了低版本 IE 之外的各大浏览器都原生支持 JSON.stringify,服务端语言也都有处理 json 的函数,使用 json 不会遇上什么麻烦,并且 json 格式支持比键值对复杂的多的结构化数据。

4. text/xml

相比于 json,xml 不能更好的适用于数据交换,它包含了太多的包装,而且它跟大多数编程语言的数据模型不匹配,xml 是面向数据的,json 是面向对象和结构的。目前多用于 XML 存储数据,存储配置文件等需要结构化存储的地方使用。

JSON 格式和 formData 格式的区别

JSON 请求头:

浅谈 JSON 对象和 FormData 相互转换,打通前端与后端的通信血脉(json与对象的区别)

JSON 负荷:

formData 请求头:

formData 负荷:

通过上面的几张图我们就能大概明白了,前端传的都是二进制数据,两者的 content-type 是不同的,json 我们已经序列化好了,而 formdata 还是需要进行处理。

formdata 的两种格式

multipart/form-data:既可以上传文件等二进制数据,也可以上传表单键值对,只是最后会转化为一条信息;x-www-form-urlencoded:只能上传键值对,并且键值对都是间隔分开的。json 对象转 formData

逐个转换

let obj = { id: "001", name: "小蓝", age: "18", sex: "女",};const formData = new FormData();formData.append("id", obj.id);formData.append("name", obj.name);formData.append("age", obj.age);formData.append("sex", obj.sex);console.log(formData);

所有属性值转换

let obj = { id: "001", name: "小蓝", age: "18", sex: "女",};const formData = new FormData();Object.keys(obj).map((key) => { formData.append(key, obj[key]);});console.log(formData);formData 对象转 jsonvar jsonObj = {};formData.forEach((value, key) => (jsonObj[key] = value));
本文链接地址:https://www.jiuchutong.com/zhishi/298322.html 转载请保留说明!

上一篇:机器学习篇-指标:AUC

下一篇:图片格式转换(File、Blob、base64)(图片格式转换pdf)

  • 当博客都不给链接以后(博客为什么没了)

    当博客都不给链接以后(博客为什么没了)

  • 苹果x一直黑屏白苹果(苹果x一直黑屏白苹果开不了机)

    苹果x一直黑屏白苹果(苹果x一直黑屏白苹果开不了机)

  • 抖音被别人屏蔽什么状态(抖音被别人屏蔽还可以搜到吗)

    抖音被别人屏蔽什么状态(抖音被别人屏蔽还可以搜到吗)

  • word2019艺术字水平对齐方式相对于栏居中怎么设置(word2021艺术字)

    word2019艺术字水平对齐方式相对于栏居中怎么设置(word2021艺术字)

  • 每次复制身份证号的时候总会变成+E

    每次复制身份证号的时候总会变成+E

  • 为什么siri变成打字了(为什么Siri变成打字)

    为什么siri变成打字了(为什么Siri变成打字)

  • 全民k歌黄v和紫v的区别(全民k歌黄v是什么级别)

    全民k歌黄v和紫v的区别(全民k歌黄v是什么级别)

  • 分辨率多少算高清(电脑分辨率多少算高)

    分辨率多少算高清(电脑分辨率多少算高)

  • 微信可以人脸识别登录吗(微信可以人脸识别吗)

    微信可以人脸识别登录吗(微信可以人脸识别吗)

  • 联想7650粉盒通用型号(联想7650粉盒复位)

    联想7650粉盒通用型号(联想7650粉盒复位)

  • 苹果11如何开机(苹果11如何开机?)

    苹果11如何开机(苹果11如何开机?)

  • airpods漏音严重怎么办(airpods漏音可以退换吗)

    airpods漏音严重怎么办(airpods漏音可以退换吗)

  • wps和pdf有什么区别(pdf和wps的区别)

    wps和pdf有什么区别(pdf和wps的区别)

  • 图片分辨率越高越清晰吗(图片分辨率越高包含的数据越多)

    图片分辨率越高越清晰吗(图片分辨率越高包含的数据越多)

  • 天猫旗舰店怎么投诉(天猫旗舰店怎么看是不是官方的)

    天猫旗舰店怎么投诉(天猫旗舰店怎么看是不是官方的)

  • 电脑可以下载手写输入法吗(电脑可以下载手机版剪映吗)

    电脑可以下载手写输入法吗(电脑可以下载手机版剪映吗)

  • xsmax通话声音小怎么办

    xsmax通话声音小怎么办

  • 小米电视怎么连接网络(小米电视怎么连接有线电视机顶盒)

    小米电视怎么连接网络(小米电视怎么连接有线电视机顶盒)

  • 荣耀20怎么关闭后台应用(荣耀20怎么关闭系统更新通知)

    荣耀20怎么关闭后台应用(荣耀20怎么关闭系统更新通知)

  • 数字信号是一种数字式的什么信号(数字信号是一种什么脉冲序列)

    数字信号是一种数字式的什么信号(数字信号是一种什么脉冲序列)

  • 拼多多删除好友怎么加回来(拼多多删除好友是双向还是单向的)

    拼多多删除好友怎么加回来(拼多多删除好友是双向还是单向的)

  • pctal10是荣耀v20么(荣耀v20型号pct al10和tl10的区别)

    pctal10是荣耀v20么(荣耀v20型号pct al10和tl10的区别)

  • qq传输文件最大多少(qq传输文件最大支持多少)

    qq传输文件最大多少(qq传输文件最大支持多少)

  • Linux阵列 RAID详解(linux做raid命令)

    Linux阵列 RAID详解(linux做raid命令)

  • python help()获取函数信息(python获取某个值)

    python help()获取函数信息(python获取某个值)

  • 首付款计提税金吗
  • 公司出售厂房需要交哪些税
  • 财税筹划课程
  • 员工自己全额承担社保可以在个税申报吗
  • 公司户和个人户卖车的时候价格差多少
  • 可转债如何不转换的财务处理
  • 通行费发票勾选认证有多少就可以抵扣多少吗
  • 建筑行业进项税率一览表
  • 一般纳税人企业所得税税率
  • 外商投资企业清算报告
  • 购买固定资产时的运费
  • 行政事业单位工资标准
  • 列支会议费要求
  • 小规模纳税人购车是怎么抵税的
  • 人力资源劳务费发票税率
  • 外购一批原材料对外销售
  • 粮食仓储设施设备管理
  • 企业所得税按季预缴怎么算
  • 企业所得税补充申报怎么报
  • 自己从自己公司直接拿钱是犯罪吗知乎
  • 无形资产可以作为仓储物
  • 给子公司员工发放奖金合法吗
  • mac 的系统
  • linux安装c语言环境
  • 银行汇票计入什么费用
  • 月末库存商品怎么记账
  • 临时设施是租入还是租入
  • 固定资产未开发票怎么入账
  • 开红字专用发票记账时摘要怎样写?
  • 主营业务收入明细账
  • php反射使用场景
  • 财务费用属不属于生产成本
  • 企业销售商品怎么做分录
  • 会计不忙
  • 微信接口开发平台
  • 企业向个人租房子需要缴纳什么税
  • php -v
  • 房屋装修固定资产置换
  • vue项目使用rem
  • js怎样遍历对象中的每个元素
  • 外贸公司美金账户维护费用
  • 同事写了一个责任链模式,bug 无数...
  • 技术软件开发
  • 居间协议合同范本完整版
  • 国有资产无偿划转的会计处理
  • 一般纳税人都是按月申报吗
  • 进项税抵增值税
  • access宏操作
  • 认缴制无实收资本怎么算
  • 没有金税盘可以开专票吗
  • 一般纳税人简易征收的适用范围
  • 所得税费用需要结转损益吗
  • 一般纳税人无票收入怎么做账分录呢
  • 个人所得税不需要汇算清缴
  • 已抵扣进项税额转出的会计分录怎么做
  • 政府补贴资金如何记账
  • 多交了社保
  • 软件企业确认收入
  • 专项应付款如何冲减
  • 金税盘可以用热点吗
  • 法人能去税务局开个人发票吗
  • sql常用语句大全简书
  • SQL里类似SPLIT的分割字符串函数
  • 如何解决电脑蓝屏0X0000007B
  • 电脑键盘上f1到f12快捷键的功能分别是
  • linux shell 常用命令大全
  • sentstrt.exe - sentstrt进程是什么文件 有什么用
  • windows7的word
  • 有趣的linux命令
  • HttpURLConnection连接 详解
  • 批处理 dp0
  • Lesson01_05 HTML中的超链接
  • select类中下拉框选择常见的方法
  • android设置背景颜色代码
  • [置顶]津鱼.我爱你
  • javascript如何绘制曲线
  • python列表组成字符串
  • 进口汽车增值税怎么算
  • 长途汽车车次号
  • 汕头办理社保卡流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设