本篇来介绍JSON
阅读目录
什么是JSON
JSON,全称是JavaScript Object Notation ,指的是 JavaScript 对象表示法,是一种轻量级的数据交换格式,JSON独立于语言,很多计算机语言都能支持JSON。
应用JSON的场合
(1)web开发中前端把HTTP请求中的数据通过JSON的格式发送给后端。
(2)web开发中后端把要返回的数据通过JSON的格式放置在Response的Body中,前端收到数据后,对JSON进行解析。
(3)各种服务之间的数据传输也经常使用JSON格式。
JSON的语法
JSON 数据的书写格式是:名称:值
例如 “MyName” : “Jim”
键的名称被英文双引号所包裹,键和值直接用英文冒号所分割
完整格式是 名称:值 被大括号号所包裹,例如 {“MyName“: “Jim“} 如下图代码所示为典型的JSON格式
{“MyName” : “XiaoSu”}
值得注意的是键的名称大小写是敏感的,如以下两个JSON对象就是不同的两个对象
{“MyName” : “XiaoSu”} //键名称是MyName {“myName” : “XiaoSu”} //键名称是myName
如果有多个键值对,则键值对直接用英文逗号所分割,如下图代码所示
{“MyName” : “Jim”, “ MyAge” : “22“ } //2个键值对 {“MyName” : “Jim”, “MySex” : “男”, “ MyAge” : “22“} //3个键值对
如果对象中没有键值对,那这个JSON对象就是空对象
{} //空对象
JSON值的类型
JSON 值可以是:
数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true 或 false)
数组(在方括号中)
对象(在花括号中)
null (意思是空值)
{“MyAge” :29 } // 值是数字 {“MyName” : “Jim”} //值是字符串 {“MyError” : true} //值是布尔逻辑值 {“YouValue” : null} //值是空
JSON数组
JSON数组就是多个JSON对象可以组成的集合。
JSON数组的书写格式就是方括号包含多个JSON对象,JSON对象与JSON对象之间用因为逗号分隔。
[{“MyName” : “Jim”},{“MyName” : “Jerry”}]
[{“MyName” : “Jim”, MyAge” : 22} , {“MyName” : “Jerry”, MyAge” : 23}]
如果数组中没有一个JSON对象,那这个JSON数组就是空数组
[] //空数组
JSON的嵌套
JSON的嵌套就比较复杂
何为嵌套呢,那就是JSON对象的值不是一个简单的值类型而是一个完整的JSON对象甚至JSON数组
JSON 中嵌套JSON对象
{"MyInfo":{"Name": "Erich.Xiao","Height": "180cm"}}
格式化后展开
{ "MyInfo": { "Name": "Erich.Xiao", "Height": "180cm" } }
这样就能在一个节点中显示多个消息。
同样在一个节点中可以显示一个集合,也就是JSON中嵌套数组
{"MyAddress":[{"Pronvice":"江西","City":"萍乡"},{"Pronvice":"江苏","City":"昆山"}]}
格式化后展开
{ "MyAddress": [ { "Pronvice": "江西", "City": "萍乡" }, { "Pronvice": "江苏", "City": "昆山" } ] }
JSON的校验和解析
JSON 虽然易于理解,可读性强,但是书写的时候也容易出错,为了检查是否出错,我们需要校验JSON的数据的正确性
校验和解析JSON一般有两种方式
(1) 在线JSON校验格式化工具
(2)离线的工具 例如 JSON Viewer
JSON文件
JSON文件是以 .json为后缀名的文件 。
测试人员学好JSON的用处
软件测试人员学好JSON有什么作用呢,既然知道web软件开发过程中前端往往把HTTP请求中的数据通过JSON的格式发送给后端,那么学好JSON以后可以熟练的运用Jmeter,Postman等发包工具测试后台的接口,以及从接口返回出来的JSON数据进行bug的分析。