表单格式详解
概念
- urlencoded 格式,又叫 form 格式、x-www-form-urlencoded 格式
- 它是一种表单格式
组成格式
- 键值对组成
- 键和值之间用 = :name=poloyy
- 多个键值对之间用 & :name=poloyy&age=19
实际例子
浏览器百度搜索
content-type 可以选择 x-www-form-urlencoded 格式
JSON 格式详解
什么是 JSON
官方解释,太官方了,看看就好
- JSON 是存储和交换文本信息的语法。类似 XML
- JSON 比 XML 更小、更快,更容易解析
- JSON是独立于语言
- JSON 具有自我描述性,更易理解
认识 JSON 有四个口诀
口诀一
- JSON 有对象、数组两种数据结构
- 有字符串、数字、逻辑值、空值四种数据类型
口诀二
- 用 {} 表示对象
- 对象是由属性组成的
- 属性是由键值对组成的
- 键和值之间用 ; 隔开
- 属性之间用 , 隔开
对象栗子:
{"姓名":"姚明","年龄":38}
口诀三
- [] 表示数组
- 数组由单独的值组成
数组栗子:
["小鸡","小鸭","小狗"] [1,2,3,4] [true, false, true] [ {"姓名":"姚明","年龄":38}, {"姓名":"尧尧","年龄":22} ]
口诀四
json 数据结构可以相互嵌套
比如:对象中可再嵌套数组、对象;数组中可再嵌套数组、对象
嵌套栗子:
{ "姓名":"姚明", "年龄":38, "家禽":["小鸡","小鸭","小狗"] }
[ {"姓名":"姚明","年龄":38,"nums":[1,2,3]}, {"姓名":"尧尧","年龄":22,"nums":[1,2]} ]
JSON值的可以是以下几种形式
- 数字(整数、浮点数)
- 字符串
- 逻辑值(true、false)
- null
- 对象
- 数组
如何用某种数据格式表述以下信息
栗子一
我的名字叫polo,年龄35岁,不抽烟
urlencoded 格式
name=polo&age=35&smoke=false
json 格式
{ "name" :"polo", "age":35, "smoke":false }
栗子二
我的名字叫呱呱,年龄35岁,不抽烟,我有三本书(语文、数学、英语),我的领导是瑶老师,他年龄35岁。我有2个孩子,唧唧5岁,呱呱15岁
urlencoded 格式
无法用此格式表述
json 格式
{ "name":"呱呱", "age":35, "smoke":false, "book":["语文","数学","英语"], "leader":{ "name":"yy", "age":35, "sons":[ { "name":"唧唧","age":5 }, { "name":"呱呱","age":15 }, ] } }
博主踩过的坑和注意事项
first
{ "name":"poloyy", "age":21, }
这样的 json 格式是会报错的,那么你知道错误在哪里吗?
坑:
最后一个属性结尾处不需要跟 ,
但需要注意的是,数组最后一个元素后面是可以跟 , 的
second
- JSON 规定字符集是UTF-8,字符串必须使用 "" ,Object 的键也必须使用 ""
- 不可以是单引号 '' ,因为用标准库做反序列化的时候会识别不了哦
third
{ "flag":"true" }
这样子写,值是字符串而不是逻辑值哦