这篇教程详细解读python操作json文件的详细写得很实用,希望能帮到您。 json转化为python表示反序列化
python转化为json表示为序列化
json是python的内置模块,不需要安装
json支持的格式: | | Json | Python | 对象(object) | 字典(dict) | 数组(array) | 列表(list) | 字符串(string) | 字符串(str) | 整数(int) | 整数(int) | 实数(float) | 实数(float) | true | True | false | False | null | None |
代码操作
1.json转化为pythonjson提供的两个函数支持json字符串反序列化为一个python对象 json.loads(s) 其中s表示字符串
import jsonstr_json = '{"name":"张三","age":24}'res = json.loads(str_json)print(res, type(res)) #{'name': '张三', 'age': 24} <class 'dict'> json.load(fb) fb:表示为文件对象test.json
test.json
{ "name":"张三", "age":24, "friends": [{ "name": "李四", "age": 23 }, { "name": "王麻子", "age": 24 }], "hobby": ["玩游戏","看电影"]} import jsonwith open('test.json', 'r', encoding='utf-8') as f: res = json.load(f) print(res, type(res)) # {'name': '张三', 'age': 24, 'friends': [{'name': '李四', 'age': 23}, {'name': '王麻子', 'age': 24}], 'hobby': ['玩游戏', '看电影']} <class 'dict'> json字符串一般不会单独出现 json.loads('"test"') #'test' 一般会放在字典或者列表中 json.loads('["test1","test2","test3"]') #['test1','test2','test3']
2. python序列化为jsonjson.dumps(obj,ensure_ascii=True,indent=None,sort_keys=False)
obj :表示为python 对象 ensure_ascii : 默认为 True,输出保证将所有输入的非 ASCII 字符转义。如果 ensure_ascii 是 False,这些字符会原样输出。 indent :一个非负整数或者字符串,JSON 数组元素和对象成员会被美化输出为该值指定的缩进等级。如果缩进等级为零、负数或者 “”,则只会添加换行符。None(默认值)选择最紧凑的表达。使用一个正整数会让每一层缩进同样数量的空格。如果 Python实现猜数字小游戏 python实现模拟数字的魔术游戏 |