您的位置:首页 > 娱乐 > 明星 > 网页草图绘制_黄金网站app免费视频下载_网站建设百度推广_网络推广方法有哪些

网页草图绘制_黄金网站app免费视频下载_网站建设百度推广_网络推广方法有哪些

2024/12/23 11:10:16 来源:https://blog.csdn.net/zhang_jiamin/article/details/144083020  浏览:    关键词:网页草图绘制_黄金网站app免费视频下载_网站建设百度推广_网络推广方法有哪些
网页草图绘制_黄金网站app免费视频下载_网站建设百度推广_网络推广方法有哪些

搞iOS UI 自动化的同时涉及到了给后端发送请求,请求数据的格式常用的有json格式和表单格式,这两种格式如何区分,如何使用,特此总结了一下。

表单格式(Form Data)

传统的 HTML 表单使用的请求体格式,尤其是在提交表单时。数据通常是键值对的形式,多个键值对通过 & 分隔,编码为 application/x-www-form-urlencoded 或 multipart/form-data。
用途:常用于用户表单提交,尤其是在文件上传时使用 multipart/form-data。
Content-Type:
application/x-www-form-urlencoded(标准表单数据)
multipart/form-data(用于文件上传)
数据示例(编码后):

countryAbbr=CN&countryCode=86&email=test%40example.com&password=abc123&type=1

请求头:

Content-Type: application/x-www-form-urlencoded

适用场景:
与浏览器的原生表单提交兼容。
简单键值对数据,字段数量有限时使用。

2. JSON 格式
特点:
使用 application/json 作为 Content-Type。
数据以 JSON 格式传递,支持复杂嵌套和结构化数据。
适用于现代 Web API 和 RESTful 接口。
数据示例:

{"countryAbbr": "CN","countryCode": "86","email": "test@example.com","password": "abc123","type": 1
}

请求头:

Content-Type: application/json

适用场景:
数据复杂且需要嵌套(例如数组、对象)。
现代应用程序,尤其是前后端分离架构。

3. 具体区别

方面表单格式(Form Data)JSON 格式
数据编码key=value&key=valueJSON 字符串
数据复杂度仅支持键值对,嵌套复杂结构需要额外编码支持复杂嵌套数据(如数组、对象)
Content-Typeapplication/x-www-form-urlencodedapplication/json
可读性编码后难以阅读(如 %40 表示 @可读性高,结构清晰
兼容性与 HTML 表单默认行为兼容更适合现代 Web API
数据大小一般适用于小规模键值对可传递大规模、复杂的数据
发送方式常用 data 参数,直接编码常用 json 参数,自动序列化为 JSON 字符串
处理方式服务器端需要解析 application/x-www-form-urlencoded服务器端直接解析 JSON

4. 如何区分使用场景
选择表单格式:
简单表单提交(例如登录、搜索)。
需要兼容旧系统或与 HTML 表单直接交互。
选择 JSON 格式:
API 设计倾向于现代 RESTful 风格。
数据复杂、需要嵌套或结构化传递。
需要保持高可读性,方便调试。

5. 代码区别
表单格式请求:

data = {'key1': 'value1','key2': 'value2'
}
rsp = requests.post(url, headers={'Content-Type': 'application/x-www-form-urlencoded'}, data=data)

JSON 格式请求:

json_data = {'key1': 'value1','key2': 'value2','nested': {'subkey': 'subvalue'}
}
rsp = requests.post(url, headers={'Content-Type': 'application/json'}, json=json_data)

总结:
Content-Type 是关键区别之一,它告诉服务器数据的格式。
JSON 格式比表单格式支持更复杂的数据类型,更适合现代应用程序。
表单格式适合于简单的键值对数据传输,兼容性更好。


除了 JSON 和表单格式请求体,常见的请求体格式还有 XML、Protobuf、YAML、MessagePack、CBOR 等。选择哪种格式通常取决于数据的结构、性能需求、与其他系统的兼容性以及所使用的服务协议。
JSON 和 XML 是最常见的数据格式。
Protobuf、MessagePack 和 CBOR 更适合需要高效数据传输的场景。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com