JSON簡介
JSON(JavaScript Object Notation,即JavaScript對象表示法)是一種輕量級的數據交換格式。它獨立於語言和平台,JSON解析器和JSON庫支持不同的編程語言。JSON具有自我描述性,很容易理解。目前大多數接口返回的數據格式為JSON,因此進行接口測試必須掌握JSON。
JSON語法
語法規則
- 數據在鍵 數據在鍵 /值對中 值對中
- 數據由逗號分隔 數據由逗號分隔 數據由逗號分隔
- {花括號 }保存對象 保存對象
- [方括號 ]保存數組 保存數組
JSON 鍵/值對
JSON 數據的書寫格式是:key:value鍵值對。
比如: "Name" : "mianmian"
- JSON 值可以是:
- 數字(整或浮點)
- 字符串(在雙引號中)
- 邏輯值(true 或 false )
- 數組(在方括號中)
- 對象(在花括號中)
- null
JSON 數字
"status_code":200
JSON 字符串
"Name" : "mianmian"
JSON 邏輯值
"result":true
JSON 數組
"user":["mianmian","ll123","zzzaaa"]
JSON 對象
JSON 對象在花括號中書寫: 對象可以包含多個鍵/值對:
{ "firstName":"John" , "lastName":"Doe" }
Tips:在接口測試過程中,一般都是返回 JSON 對象類型。
JSON 數據嵌套
比如在數組中含多個對象:
{ "employees": [ { "firstName":"John" , "lastName":"Doe" }, { "firstName":"Anna" , "lastName":"Smith" }, { "firstName":"Peter" , "lastName":"Jones" } ] }
在上面的例子中,對象 "employees" 是包含三個對象的數組。每個對象代表一條關於某人(有姓和名)的記錄。
JSON 數據解析
Python3 中可以使用 json 模塊來對 JSON 數據進行編解碼,它包含了兩個方法:
- json.dumps(): 將 python 數據轉化為 Json 數據
- json.loads(): 將 json 數據類型轉為 Python 數據類型
json.dumps()
將 python 數據轉化為 Json 數據 json_dumps.py
import json data={'id':1,'name':'mianmian','password':'123456'} print(type(data)) json_str=json.dumps(data) print(type(json_str)) print(json_str) 輸出結果: <class 'dict'> <class 'str'> {"password": "123456", "id": 1, "name": "mianmian"}
json.loads()
將 json 數據類型轉為 Python 數據類型 json_loads.py
import json json_str='{"id":1,"name":"mianmina","password":"123456"}' data=json.loads(json_str) print(type(json_str)) print(type(data)) print(data) print(data['id']) print(data['name']) 輸出結果: <class 'str'> <class 'dict'> {'name': 'mianmina', 'password': '123456', 'id': 1} 1 mianmina
Json 文件處理
有時我們可能需要將 JSON 數據寫入到文件,或者從 Json 數據文件讀取數據
# 寫入 JSON 數據到文件 with open('data.json', 'w') as f: json.dump(data, f) # 讀取 JSON數據文件 with open('data.json', 'r') as f: data = json.load(f)