urlencoded、json 格式详解

表单格式详解

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

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

 

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小菠萝测试笔记

来支持下测试小锅锅

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值