REST Assured 22 - JSON

李振国
2023-12-01

REST Assured 系列汇总 之 REST Assured 22 - JSON

JSON 表示 “JavaScript Object Notation” ,是一门轻量级,独立的,自我描述的,文本格式,用于数据存储和交换的语言。JSON非常方便创建,读和写,比XML更受欢迎。

JSON派生自JavaScript,但是现在被很多语言支持。一个JSON文件,其扩展名为.json

当我们想新建一个资源,或则说是增加一个新的学生信息到一个学生数据库,我们需要发送一个POST请求,payload可能就是JSON格式,所以JSON主要用来在服务器端和客户端的数据交换。
例如:

{
   "firstName":"Mei",
   "lastName":"Xia",
   "age": 18,
   "salary": 10000.56
 }

从上可以看出,JSON是以key-value键值对的方式存储数据。key键在左侧,value值是右侧,用冒号来分离。每一对键值对用逗号分离。

一个键key总是一个字符串string ,必须用双引号封闭。一个值value可以是一个字符串string ,一个数字number (小数和不带小数),一个布尔Boolean值( true 和 false),一个对象object ,一个数组array,或为空null

JSON有两种格式:JSON Object and JSON Array,上面的实例是一个JSON Object。下面的实例是JSON Array。

[
   {
     "name": "MeiMei",
     "skills": "java"
   },
   {
     "name": "ShuaiShuai",
     "skills": "API"
   }
 ]

一个JSON Object是无序的数据结构,它以花括号 ( ‘{‘)开始,以花括号(‘}’)结束。

一个JSON Array是有序的集合,它以中括号( ‘[‘)开始,以中括号(‘]’)结束,集合中以逗号分离。一个JSON Array可以有多个JSON Object。

例如:

{
   "firstName": "MeiMei",
   "lastName": "Xia",
   "age": 18,
   "salary": 10000.56,
   "Mob": [
     1234567890,
     1023456789
   ],
   "Address": [
     {
       "addressType": "Home",
       "city": "Shanghai"
     },
     {
       "addressType": "Office",
       "city": "Shanghai"
     }
   ],
   "isMarried": false,
   "techSkills": {
     "programmingLangauge": "Java",
     "UIAutomation": "Selenium",
     "backendAutomation": "API"
   },
   "Nationality": "China",
   "hobbies": null
 }

上面的JSON例子包含了所有可能的value类型。“Mob” 键是一个字符串数组,而“Address”键是JSON Object的JSON Array。“isMarried” 键的值是个布尔值。“techSkills” 键是一个JSON Object。“hobbies”键是一个null值。注意“NULL”不能替代“null”,否则会出错

有一些网站可以供参考用来更方便地创建和验证JSON:

Json Editor Online

Live JSON Generator

 类似资料: