**
urlencoded、json 格式详解
**
##表单格式详解
概念
urlencoded 格式,又叫 form 格式、x-www-form-urlencoded 格式
它是一种表单格式
组成格式
键值对组成
键和值之间用 = :name=poloyy
多个键值对之间用 & :name=poloyy&age=19
实际例子
浏览器百度搜索
https://www.baidu.com/s?ie=UTF-8&wd=baidu
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”
}
这样子写,值是字符串而不是逻辑值哦