表单格式详解

概念

  • 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"
}

这样子写,值是字符串而不是逻辑值哦