import json
data = [{
"張三": 13,
"李四": 15,
"王五": 17,
"趙六": 19,
"陳七": 21
}]
'''dumps:将obj序列化为JSON格式的str,SON 键/值对中的键始终为 str 类型。 当字典转换为 JSON 时,字典的所有键都被强制转换为字符串。
因此,如果将字典转换为 JSON,然后再转换回字典,则该字典可能不等于原始字典。 也就是说,如果 x 具有非字符串键,则 load(dumps(x)) != x
如果“skipkeys”为真,则“dict”键不是基本类型(``str``, ``int``, ``float``, ``bool``, ``None``) 将被跳过,而不是引发“TypeError”。
如果“ensure_ascii”为 false,则返回值可以包含非 ASCII字符,存在中文可以設置為false
如果“check_circular”为 false,则循环引用检查对于容器类型将被跳过并且循环引用将导致“OverflowError”(或更糟)。
如果“allow_nan”为false,那么它将是一个“ValueError”序列化超出范围的“float”值(“nan”、“inf”、“-inf”)严格遵守JSON规范,而不是使用
JavaScript 等价物(``NaN``、``Infinity``、``-Infinity``)。
如果“indent”是非负整数,则 JSON 数组元素和对象成员将使用该缩进级别进行漂亮的打印。 一个缩进level 0 只会插入换行符。
“None”是最紧凑的表示。
如果 *sort_keys* 为 true(默认值:``False``),则输出字典将按键排序。
separators=(',', ':'):消除空白
dumps:傳入一個Python對象,將其轉換成json格式后存儲到str中
dump:傳入一個Python對象,將其轉換成json格式后存儲到IO流中
loads:傳入一個json格式的str,將其解碼為Python對象
load:傳入一個json格式的IO流,將其解碼為Python對象
'''
print(json.dumps(data,ensure_ascii=False,indent=1))
with open("E:\Code\study_test\json_test.json",'w',encoding="utf-8") as dump_file:
json.dump(data,dump_file,ensure_ascii=False,separators=(',', ':'))
with open("E:\Code\study_test\json_test.json","r",encoding="utf-8") as load_file:
load_file = json.load(load_file)
print(load_file)
loads_data = '{"張三":14,"李四":16,"王五":18,"趙六":20,"陳七":22}'
loads_json = json.loads(loads_data)
print(loads_json)
Python-json
最新推荐文章于 2024-07-12 16:16:27 发布