
Python 中的 json 模块用于处理 JSON 数据格式,它允许你将 Python 对象转换成 JSON 格式字符串,以及将 JSON 格式字符串解析成 Python 对象。JSON 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它支持的数据结构包括数字、字符串、布尔值、数组(Python 中的列表)和字典。json 模块在处理网络通信、配置文件、数据存储等方面非常有用。
| python | JSON |
|---|---|
| dict | object |
| list,tuple | array |
| str,unicode | string |
| int,long,float | number |
| True | true |
| False | false |
| None | null |
从son转为python的言方数据格式为:
| python | JSON |
|---|---|
| object | dict |
| array | list |
| string | unicode |
| number (int) | int,long |
| number (real) | float |
| true | True |
| false | False |
| null | None |
| 类型 | 定义 | > | 方法 | > | 定义 | 类型 |
|---|---|---|---|---|---|---|
| python的str | jsonData = '{"a":1,"b":2}' |
> | data_dict = json.loads(jsonData) |
> | data_dict = {'a': 1, 'b': 2} |
python的dict |
| JSON文件 | with open("jdata.json",'r') as load_f: |
> | load_dict = json.load(load_f) |
> | data_dict = {'a': 1, 'b': 2} |
python的dict |
| python的dict | data = [{'a': 1, 'b': 2}] |
> | data_str = json.dumps(data) |
> | data_str = '[{'a': 1, 'b': 2}]' |
JSON/python的str |
| python的dict | data = { 'a': 1, 'b': 2} |
> | json.dump(data,f,indent) |
> | [{'a': 1, 'b': 2}] |
JSON文件 |
import json
import json## 注意!逗号不可以写多## 注意!不能用单引号要双引号jsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}'data_dict = json.loads(jsonData)print(data_dict)

with open("jdata.json",'r') as load_f:data_dict = json.load(load_f)

可以看见已经把文件名为jdata.json的数据读取到python里
更多有关open打开文件夹的更多可以查看自带方法 - open() - 读写文件
import jsondata = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]data_str = json.dumps(data,ensure_ascii=False)## ensure_ascii=False # 'u111'转成中文print(type(data_str)print(data_str)<class 'str'>[{"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}]

可以看见data_str的字符类型已经变成str格式
import jsondata = { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 }f = open('jdata.json','w',encoding='utf-8')json.dump(data,f,ensure_ascii=False)## ensure_ascii=False # 'u111'转成中文

可以看见生成的jdata.json已经生成,但是没有换行、缩进格式
'''{"xiaojun": "123456","xiaohei": "7891","lrx": "hailong","tanailing": "111111"}'''
import jsondata = { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 }f = open('jdata.json','w',encoding='utf-8')json.dump(data,f,ensure_ascii=False)## ensure_ascii=False # 'u111'转成中文

可以看见生成的jdata.json与上一个例子增加了换行、缩进格式