Каталог статей
Строка формата json, словарь dict и переменная списка в Python могут быть легко преобразованы;
- Вызовите функцию json.dumps, чтобы преобразовать список/словарь Python в json;
- Вызовите функцию json.loads, чтобы преобразовать json в список/словарь python;
1. Преобразование формата JSON
1. Использование json-модуля
Во-первых , импортируйте встроенный в Python модуль json;
import json
Затем подготовьте данные python, поместите данные в список списка, а элементы в списке являются словарями dict;
data = [{
"name": "Tom", "age": 18}, {
"name": "Jerry", "age": 12}]
Затем вызовите функцию json.dumps, чтобы преобразовать данные списка в строковые данные json;
json_str = json.dumps(data)
Наконец , вызовите функцию json.loads, чтобы преобразовать данные json в данные python;
data = json.loads(json_str)
2. Анализ образца кода — список в json
Определите список Python, элементы в списке являются словарями dict;
data_list = [{
"name": "Tom", "age": 18}, {
"name": "Jerry", "age": 12}]
Тип для печати приведенного выше списка <class 'list'>
: ;
Вызовите функцию json.dumps, чтобы преобразовать приведенную выше переменную списка data_list в строку json, а преобразованный тип переменной json_str — это <class 'str'>
type, а ее значение:
[{
"name": "Tom", "age": 18}, {
"name": "Jerry", "age": 12}]
Вызовите функцию json.loads, чтобы преобразовать переменную json_str, то есть строку json, в переменную списка Python.Тип преобразованной переменной data_list2 <class 'list'>
и значение переменной:
[{
'name': 'Tom', 'age': 18}, {
'name': 'Jerry', 'age': 12}]
Пример кода:
"""
json 格式转换 代码示例
"""
import json
# I. 列表 转 json
# 定义 Python 列表 , 列表中元素为 dict 字段
data_list = [{
"name": "Tom", "age": 18}, {
"name": "Jerry", "age": 12}]
print(f"data_list 类型 : {
type(data_list)} 值为 {
data_list}")
# 将列表转为 json
json_str = json.dumps(data_list)
# 打印 json 字符串结果
print(f"json_str 类型 : {
type(json_str)} 值为 {
json_str}")
# 将 json 转为 Python 列表数据
data_list2 = json.loads(json_str)
print(f"data_list2 类型 : {
type(data_list2)} 值为 {
data_list2}")
Результаты:
D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py
data_list 类型 : <class 'list'> 值为 [{
'name': 'Tom', 'age': 18}, {
'name': 'Jerry', 'age': 12}]
json_str 类型 : <class 'str'> 值为 [{
"name": "Tom", "age": 18}, {
"name": "Jerry", "age": 12}]
data_list2 类型 : <class 'list'> 值为 [{
'name': 'Tom', 'age': 18}, {
'name': 'Jerry', 'age': 12}]
Process finished with exit code 0
3. Анализ образца кода — словарь в json
Определите словарь Python, тип элемента пары ключ-значение в словаре — строковый тип str;
data_dict = {
"name": "Trump", "age": "80"}
Выведите тип указанной выше переменной data_dict как <class 'dict'>
;
Вызовите функцию json.dumps, чтобы преобразовать приведенную выше переменную словаря data_dict в строку json.Преобразованный тип переменной json_str — это <class 'str'>
type, а ее значение:
{
"name": "Trump", "age": "80"}
Вызовите функцию json.loads, чтобы преобразовать переменную json_str, то есть строку json, в переменную словаря Python.Тип преобразованной переменной data_dict2 — , <class 'dict'>
а значение переменной:
{
'name': 'Trump', 'age': '80'}
Пример кода:
"""
json 格式转换 代码示例
"""
import json
# II. 字典 转 json
data_dict = {
"name": "Trump", "age": "80"}
print(f"data_dict 类型 : {
type(data_dict)} 值为 {
data_dict}")
# 将字典转为 json
json_str = json.dumps(data_dict)
# 打印 json 字符串结果
print(f"json_str 类型 : {
type(json_str)} 值为 {
json_str}")
# 将 json 转为 Python 字段数据
data_dict2 = json.loads(json_str)
print(f"data_dict2 类型 : {
type(data_dict2)} 值为 {
data_dict2}")
Результаты:
D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py
data_dict 类型 : <class 'dict'> 值为 {
'name': 'Trump', 'age': '80'}
json_str 类型 : <class 'str'> 值为 {
"name": "Trump", "age": "80"}
data_dict2 类型 : <class 'dict'> 值为 {
'name': 'Trump', 'age': '80'}
Process finished with exit code 0