[80.Python高级(14):JSON文件的读写] 零基础学python,简单粗暴



概述

  • json是一种轻量级的结构化数据存储标准;
  • 其结构直观、体积小(便于网络传输)、编码和解码方便,应用领域十分广泛;
  • json对数据的描述,是使用{}表示对象,使用[]表示集合,使用键值对表示属性和值;
  • 这种数据描述方式与Python语言中的字典、列表十分相似,因此转化也十分方便;
  • Python标准库提供了专用的json解析模块,其名称也叫json;

@ Python数据和json字符串的相互转化

import json

# 定义一个待转化的Python对象,可以是字典或列表
data = {"name": "张三", "age": 20, "hobby": ["堆代码", "reading", "girls"]}
# data = [
#     {"name":"张三","age":20,"hobby":["堆代码","reading","girls"]},
#     {"name":"李四","age":30,"hobby":["堆代码","reading","搅基"]}
# ]

# 将Python数据(字典或列表)转换为json字符串,注意ensure_ascii默认是为True的
jStr = json.dumps(data, ensure_ascii=False)
print(type(jStr), jStr)
print("----------")

# 将json字符串读入为Python数据(字典或列表)
pyObj = json.loads(jStr, encoding="utf-8")
print(type(pyObj),pyObj)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

执行结果: 
这里写图片描述

@Python数据和json文件的相互转化

import json

# 定义一个待转化的Python对象,可以是字典或列表
# data = {"name": "张三", "age": 20, "hobby": ["堆代码", "reading", "girls"]}
data = [
    {"name":"张三","age":20,"hobby":["堆代码","reading","girls"]},
    {"name":"李四","age":30,"hobby":["堆代码","reading","搅基"]}
]

# 将Python数据(列表或字典)写出到json文件
with open("./doc/data.json", "a", encoding="utf-8") as file:
    json.dump(data, file, ensure_ascii=False)
    print("文件写出成功!")

# 将json文件读入为Python数据(列表或字典)
with open("./doc/data.json", "r", encoding="utf-8") as file:
    data = json.load(file)
    print("json文件成功加载为:",type(data))
    print(data)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

执行结果 
这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。https://my.csdn.net/pangzhaowen

猜你喜欢

转载自blog.csdn.net/pangzhaowen/article/details/80727601