json list格式_接口自动化 | Json 序列化与反序列化

欢迎关注公众号 学习资料不会少

序列化与反序列化

在JSON库中,序列化和反序列化的处理分为两部分,一部分是对具体列表数据的处理,另外一部分是对文件内容的处理。

json.dumps

将Python的数据类型比如元组,字典,列表数据转化为字符串类型。

import json

def test_dumps():

    """

    序列化操作

    """

    list = [1,2,3,4,5]

    print('before',type(list))

    list_str = json.dumps(list)

    print('after',type(list_str), list_str,)

    dict = {'username':'xiaoming','age':10}

    print('before',type(dict))

    dict_str = json.dumps(dict)

    print('after',type(dict_str),dict_str)

    tuple = (1,2,3,4)

    print('before',type(tuple))

    tuple_str = json.dumps(tuple)

    print('after',type(tuple_str),tuple_str) #[1,2,3,4]

元组类型数据转换后的字符串形式为 [] 。

json.loads

反序列化操作,将字符串类型转化为python的列表,字典类型。

注意:不能反序列化为元组类型。

def test_loads():

    """

    反序列化

    """

    list_str = '[1,2,3,4,5,6]'

    list = json.loads(list_str)

    print('list:',type(list),list)

    tuple_0 = ("5","4","3","2","1")

    tuple_str = json.dumps(tuple_0)

    tuple = json.loads(tuple_str)

    print('after tuple:',type(tuple),tuple) #元组序列化之后返回列表类型

json.dump

序列化Json数据并存储到文件中。

import requests

import json

def test_dump():

    """

    json.dump 将json数据 存入到文件中

    :return:

    """

    r = requests.get(url='http://39.107.96.138:3000/api/v1/

topics')

   # dump

    json.dump(r.json(),open('data.json',mode='w+'))

json.load

从文件中读取数据并反序列化为python数据格式。

data.json

{

  "success": true,

  "data": [

    {

      "id": "5e66e7c31a33065b8763dc0d",

      "author_id": "5d67af5c692231084ca27cd0",

      "tab": "share",

      "create_at": "2020-03-10T01:05:07.410Z",

      "author": {

        "loginname": "user8",

        "avatar_url": "//gravatar.com/avatar/d6e3a97ea77c

3cc3fe9493150f349088?size=48"

      }

    }

  ]

}

读取data.json数据并转换为python格式

import requests

import json

def test_load():

    data = open('./data.json',mode='r',encoding='utf8')

    d = json.load(data)

    print('d:',type(d),d)

json数据与python数据类型转换

默认情况下,执行以下方式转换数据

13f8e3a97244cfdf789393bbd02e969b.png

e01e057b7442acde891fd2296254ad00.png

往期精彩文章

喜报来了!凡猫学员薪资最高16K!

金融行业软件测试介绍

2020年为什么大家都开始学习自动化测试?

学习测试开发前 你需要掌握的python 代码水平

1万+软件测试人员都在学的精品课程免费送,大家别错过

d747ec44ce7e33994119480ecaefc53b.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值