JSON数据

一、JSON 简介

  JSON(JavaScript Object Notation,即 JavaScript 对象表示法)是一种轻量级的数据交换格式。它独立于语言
和平台,JSON 解析器和 JSON 库支持不同的编程语言。JSON 具有自我描述性,很容易理解。目前大多数接口返
回的数据格式为 JSON,因此进行接口测试必须掌握 JSON。
 

二、JSON 语法

语法规则
  • 数据在键/值对中
  • 数据由逗号分隔
  • {花括号}保存对象
  • [方括号]保存数组
  JSON 键/值对
JSON 数据的书写格式是:key:value 键值对。比如:"Name" : "xiaomi"
 
JSON 值可以是:
  • 数字(整数或浮点数)
  • 字符串(在双引号中)
  • 逻辑值(true 或 false)
  • 数组(在方括号中)
  • 对象(在花括号中)
  • null
JSON 数字
  "status_code":200
JSON 字符串
  "Name" : "xiaomi"
JSON 逻辑值
  "result":true
JSON 数组
  "user":["xiaomi","pingguo","xueli"]
JSON 对象
  JSON 对象在花括号中书写: 对象可以包含多个键/值对:{ "firstName":"xiaomi" , "lastName":"xueli" }
    Tips:在接口测试过程中,一般都是返回 JSON 对象类型。
 

三、JSON 数据嵌套

比如在数组中含多个对象:
{
"employees": [
{ "firstName":"xiaomi" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}
在上面的例子中,对象 "employees" 是包含三个对象的数组。每个对象代表一条关于某人(有姓和名)的记录。
 

四、JSON 数据解析

Python3 中可以使用 json 模块来对 JSON 数据进行编解码,它包含了两个方法:
• json.dumps(): 将 python 数据转化为 Json 数据
• json.loads(): 将 json 数据类型转为 Python 数据类型

4.1、json.dumps()

将 python 数据转化为 Json 数据 json_dumps.py
import json
data={'id':1,'name':'huang','password':'66666'}
print(type(data))
json_str=json.dumps(data)
print(type(json_str))
print(json_str)
输出结果:
<class 'dict'> <class 'str'> {"password": "66666", "id": 1, "name": "huang"}

 

4.2 、json.loads()

将 json 数据类型转为 Python 数据类型 json_loads.py
import json
json_str='{"id":1,"name":"huang","password":"66666"}'
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': '51zxw', 'password': '66666', 'id': 1} 
1 huang

 

4.3、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)

 

 

参考资料:

http://www.w3school.com.cn/json/index.asp
http://www.runoob.com/python3/python3-json.html
posted @ 2021-01-12 14:03  钟鼎山林  阅读(293)  评论(0编辑  收藏  举报