Python数据和Json数据的相互转换

什么是JSON?

JSON是一种轻量级的数据交互格式。可以按照JSON指定的格式去组织和封装数据
JSON本质上是一个带有特定格式的字符串
主要功能:JSON就是一种在各个编程语言中流通的数据格式,负责不同编程语言中的数据传递和交互

Python数据和Json数据的相互转换

1. 导入json模块
import json

2. 准备符合格式json格式要求的python数据
data =[f"name":"老王","age": 16),"name":"张三","age": 20)

3. 通过json.dumps(data) 方法把python数据转化为了 json数据   

注:若有中文需要加上ensure_ascii=False

data = json.dumps(data,ensure_ascii=False)

4. 通过json.loads(data)方法把json数据转化为了 python数据
data =ison.loads(data)

例子:

import json

# Python列表
data = [{"name": "张小姐", "age": 10}, {"name": "li小姐", "age": 11}, {"name": "王小姐", "age": 12}]
# python数据转化为了 json数据
# json_str = json.dumps(data)
json_str = json.dumps(data, ensure_ascii=False)  # ensure_ascii=False将内容直接输出,若有中文需要加上,否则会被转换成ASCII码
print(type(json_str))  # 
print(json_str)  # [{"name": "张小姐", "age": 10}, {"name": "li小姐", "age": 11}, {"name": "王小姐", "age": 12}]


# Python字典
data1 = {"name": "zhou", "age": 13}
# python数据转化为了 json数据
json_str1 = json.dumps(data1)
print(type(json_str1))   # 
print(json_str1)   # {"name": "zhou", "age": 13}


# JSON字符串
s = '[{"name": "张先生", "age": 10}, {"name": "li先生", "age": 11},{"name": "王先生", "age": 12}]'
# json数据转化为了 python数据
l = json.loads(s)
print(type(l))  # 
print(l)  # [{'name': '张先生', 'age': 10}, {'name': 'li先生', 'age': 11}, {'name': '王先生', 'age': 12}]


# JSON字符串
s1 = '{"name": "周", "age": 13}'
# json数据转化为了 python数据
d = json.loads(s1)
print(type(d))  # 
print(d)  # {'name': '周', 'age': 13}

你可能感兴趣的:(python)