JSON简介

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

JSON语法

语法规则

  • 数据在键/值对中
  • 数据由逗号分隔
  • {花括号}保存对象
  • [方括号]保存数组

JSON键/值对

JSON数据的书写格式是 key:value键值对。比如:

“Name”:“51zxw”

JSON值可以是:

  • 数字(整数或浮点数)
  • 字符串(在双引号中)
  • 逻辑值(true 或 false)
  • 数组(在方括号中)
  • 对象(在花括号中)
  • null

JSON数字

"status_code":200

JSON字符串

“Name”:“51zxw”

JSON逻辑值

“result”:true

JSON数组

“user”:[“51zxw”,“zxw2021”,“zxw666”]

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库官方文档 https://docs.python.org/3/library/json.html

json.dumps()

将python数据转化为json数据

import json data={'id':1,'name':'52zxw','password':'666'} print(type(data)) json_str=json.dumps(data) print(type(json_str)) print(json_str)

输出结果:

<class 'dict'=""></class>

<class 'str'=""></class>

{"id": 1, "name": "52zxw", "password": "666"}

json.loads()

将json数据类型转为python数据类型

import json json_str='{"id":1,"name":"51zxw","password":"666"}' print(type(json_str)) data=json.loads(json_str) print(type(data)) print(data) print(data["id"])

输出结果:

<class 'str'=""></class>

<class 'dict'=""></class>

{'id': 1, 'name': '51zxw', 'password': '666'}

1

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) print(data)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容