scala str转为json_Json数据

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","zxw2018","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数据 json_dumps.py

import json

data={'id':1,'name':'51zxw','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": "51zxw"}

json.loads()

将json数据类型转为Python数据类型 json_loads.py

import json

json_str='{"id":1,"name":"51zxw","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
51zxw

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协议概述

  • Selenium 元素checkbox元素操作与元素等待

  • Selenium 鼠标键盘操作与滚动条控制

  • Selenium 窗口操作与上传下载

  • Selenium PageObject设计模式

  • Selenium自动化测试模型

  • Mac 环境Appium自动化测试环境搭建

  • 众里寻他千百度—Appium Android 元素定位方式

  • Android自动化测试设备弹窗处理

  • Appium iOS 元素定位与操作

  • Ubuntu+Docker+STF环境搭建

  • Anyproxy抓包代理安装使用

  • Python自动化日志收集

  • Android 测试工具——Monkeyrunner API

57ac3f0a4bb38cd4bf832a81befabf3f.png

关注公众号,更多干货秒得到

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值