位置: 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)

  • 魅族18s屏幕尺寸(魅族18s屏幕多大)

    魅族18s屏幕尺寸(魅族18s屏幕多大)

  • 华为p40可以安装谷歌GMS吗(华为p40可以安装谷歌三件套吗)

    华为p40可以安装谷歌GMS吗(华为p40可以安装谷歌三件套吗)

  • qq浮窗设置在哪里设置(qq浮窗设置在哪设置小米)

    qq浮窗设置在哪里设置(qq浮窗设置在哪设置小米)

  • 苹果相册画笔在哪里(苹果相册里的画笔在哪里)

    苹果相册画笔在哪里(苹果相册里的画笔在哪里)

  • hp126a显示hp双闪同闪(惠普126双灯闪)

    hp126a显示hp双闪同闪(惠普126双灯闪)

  • 投屏显示播放结束怎么办(投屏显示播放结束状态)

    投屏显示播放结束怎么办(投屏显示播放结束状态)

  • 0xc0000034不能开机(0xc0000034不能开机win10)

    0xc0000034不能开机(0xc0000034不能开机win10)

  • 1.4ghz是什么意思(1.4ghz是多少hz)

    1.4ghz是什么意思(1.4ghz是多少hz)

  • 美图秀秀照片怎么保存在手机相册(美图秀秀照片怎么去水印手机上操作)

    美图秀秀照片怎么保存在手机相册(美图秀秀照片怎么去水印手机上操作)

  • 苹果7可以开空调吗(苹果7手机能开空调吗)

    苹果7可以开空调吗(苹果7手机能开空调吗)

  • 手机登录密码是什么(手机号一键登录)

    手机登录密码是什么(手机号一键登录)

  • 电脑过热自动关机(电脑过热自动关机怎么取消)

    电脑过热自动关机(电脑过热自动关机怎么取消)

  • 手机腾讯视频怎么退出账号(手机腾讯视频怎么播放本地视频)

    手机腾讯视频怎么退出账号(手机腾讯视频怎么播放本地视频)

  • 微信卸载了聊天记录还在吗(微信卸载了聊天记录没了怎么恢复)

    微信卸载了聊天记录还在吗(微信卸载了聊天记录没了怎么恢复)

  • 金羚洗衣机e2是什么故障(金羚洗衣机e2是什么故障维修视频)

    金羚洗衣机e2是什么故障(金羚洗衣机e2是什么故障维修视频)

  • 路由器的主要功能(路由器的主要功能是放大传输信号)

    路由器的主要功能(路由器的主要功能是放大传输信号)

  • 乐高编程和少儿编程的区别(乐高少儿编程和真正的编程一样吗)

    乐高编程和少儿编程的区别(乐高少儿编程和真正的编程一样吗)

  • 在国外可以用微信转账吗(在国外可以用微博吗)

    在国外可以用微信转账吗(在国外可以用微博吗)

  • 小米cc9参数(小米cc9参数详细参数)

    小米cc9参数(小米cc9参数详细参数)

  • 抖音怎么把字打在视频上(抖音怎么把字打上)

    抖音怎么把字打在视频上(抖音怎么把字打上)

  • iphone快捷键小圆标(iphone快捷键小圆标怎么去掉)

    iphone快捷键小圆标(iphone快捷键小圆标怎么去掉)

  • 华为p30怎么显示流量(华为P30怎么显示保时捷字母)

    华为p30怎么显示流量(华为P30怎么显示保时捷字母)

  • 最强大的人工智能chatGPT不会还有人没用过吧,再不用就out了(最强大的人工智能武器)

    最强大的人工智能chatGPT不会还有人没用过吧,再不用就out了(最强大的人工智能武器)

  • 如何让网站优化持续稳定(如何让网站优化成功)

    如何让网站优化持续稳定(如何让网站优化成功)

  • 递延所得税抵消分录
  • 一般纳税人商品混凝土税率
  • 为什么增值税不计入营业税金及附加
  • 小型微利企业所得税率
  • 附加税减免如何申报
  • 公司退款给客户怎么写
  • 居民企业核定征收企业所得税的情形有哪些
  • 劳务费代扣代缴后还需要开发票吗
  • 上月多计收入,本月如何调整?
  • 建设单位增值税抵扣
  • 金税四期进展
  • 折让冲减的产品销售收入
  • 新政府会计制度与旧制度区别
  • 员工股权激励会计处理分录
  • 研发费用加计扣除是什么意思啊
  • 报销业务招待费属于什么现金流量项目
  • 发票丢了还可以重开吗
  • 全免增值税企业有哪些
  • 纳税调整需要调年度报表嘛
  • 清除不必要的内存
  • 税务实名认证是不是就是税务登记
  • 固定资产出租需交什么税
  • mac如何在桌面显示我的电脑
  • 境外服务包括哪些内容
  • php imagestring
  • 长期股权投资期末按什么计量
  • 固定资产的预计使用寿命和净残值发生变更
  • redis php实例
  • 小规模企业收到发票
  • 实用工具书推荐
  • eyring模型
  • 存货非正常损失可以所得税前扣除吗
  • 辞退员工福利
  • python动态强类型语言
  • 职工福利费的作用
  • 小企业会计准则调整以前年度费用分录
  • 代扣代缴通用缴款书怎么打印
  • 弃置费用的摊余成本
  • 金融放贷工作具体做什么
  • 物品数量怎么填写
  • 期末留抵税额怎么填报表
  • 税控盘抄报税逾期怎么办
  • 国有独资企业董事会成员组成规定
  • 应付账款明细账怎么登记
  • 应收账款冲销是什么意思
  • 调整以前年度的费用怎么做
  • 已经计提的坏账收回了怎么做
  • 货款尚未收到属于什么会计科目
  • 会计 预提
  • 会计学主要是学什么
  • mysql无法创建函数
  • mysql5.7.17下载
  • sqlserver函数大全
  • win7系统的笔记本电脑有哪些
  • win7开关机时间设置
  • winxp系统连接网络
  • SMax4.exe - SMax4是什么进程
  • linux 杀掉指定用户的进程
  • linux邮件设置方法
  • windows默认程序设置
  • win8设置宽带连接
  • 华硕和联想笔记本电脑哪个好点
  • linux系统获取dhcp地址
  • windows7调节音量
  • 如何实现仁
  • 批处理文件的编写
  • 前端笛卡尔积
  • xml文件示例
  • unity基础包
  • unity3d导出fbx文件
  • jquery接收后端数据
  • 陕西省国家税务局
  • 西安税务机关
  • 房屋设备租赁费
  • 重庆国家税务局发票流向查询
  • 为什么经常收到税务短信
  • 调研基本情况介绍范文
  • 一般纳税人申请流程
  • 农村复耕复产
  • 广州代理记账公司注册
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设