json file类型_Python与Json

56e8ea50d8d29ce15756cf483bfe3510.png

概述

JSON 是一种轻量级的数据交换格式 (JavaScript Object Notation)

Python对JSON的处理相当简单

主要用到 json模块,四大函数:

处理的如果是程序对象:

  • json.dumps 编码
  • json.loads 解码

处理的如果是文件

  • json.dump 写入文件
  • json.load 读出文件

转化规则

python数据格式与json转化的关系如下

Python 编码为 JSON 类型转换对应表

| Python | JSON | | :------------------------------------- | :----- | | dict | object | | list, tuple | array | | str | string | | int, float, int- & float-derived Enums | number | | True | true | | False | false | | None | null |

JSON 解码为 Python 类型转换对应表:

| JSON | Python | | :------------ | :----- | | object | dict | | array | list | | string | str | | number (int) | int | | number (real) | float | | true | True | | false | False | | null | None |

举例

开始前,Python 當中自帶 json 套件,所以我們不必另外安裝,可以直接在程式碼中匯入這個模組。

import json

tips:让数据格式化输出:

json.dumps( source , sort_keys=True, indent=4, separators=(',', ': '))

dumps

用dict来举例,按转化规则变成一个Object
>>> import json
>>> dict = {"liuxunzhuo":{"job":"engineer","gender":"male","experience":{"2020":"AirSpider","2019":"NovelDao"},"wanyueke":{"job":"lawer","gender":"female","experience":"None"}}
... }
>>> dict
{'liuxunzhuo': {'job': 'engineer', 'gender': 'male', 'experience': {'2020': 'AirSpider', '2019': 'NovelDao'}, 'wanyueke': {'job': 'lawer', 'gender': 'female', 'experience': 'None'}}}
>>> json_dict = json.dumps(dict,sort_keys=True, indent=4, separators=(',', ': '))
>>> print(json_dict)
{
    "liuxunzhuo": {
        "experience": {
            "2019": "NovelDao",
            "2020": "AirSpider"
        },
        "gender": "male",
        "job": "engineer",
        "wanyueke": {
            "experience": "None",
            "gender": "female",
            "job": "lawer"
        }
    }
}

loads

接着上面的例子,将json转化为dict
>>> res = json.loads(json_dict)
>>> print(res)
{'liuxunzhuo': {'experience': {'2019': 'NovelDao', '2020': 'AirSpider'}, 'gender': 'male', 'job': 'engineer', 'wanyueke': {'experience': 'None', 'gender': 'female', 'job': 'lawer'}}}
>>>

dump

直接将python数据转化成json格式写入文档
>>> import json
>>> dict = {"liuxunzhuo":{"job":"engineer","gender":"male","experience":{"2020":"AirSpider","2019":"NovelDao"},"wanyueke":{"job":"lawer","gender":"female","experience":"None"}}
... }
>>> file = open("test.txt","w")
>>> json.dump(dict , file,sort_keys=True, indent=4, separators=(',', ': '))
>>> file.close()

结果如下:

daf1c4f51dbe76da742994aa672a79ce.png

load

将json文档读入并转化为python数据
>>> file = open("test.txt","r")
>>> read = json.load(file)
>>> print(read)
{'liuxunzhuo': {'experience': {'2019': 'NovelDao', '2020': 'AirSpider'}, 'gender': 'male', 'job': 'engineer', 'wanyueke': {'experience': 'None', 'gender': 'female', 'job': 'lawer'}}}
>>>
用好这四个函数就能轻松应对大部分问题啦
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值