[Python] преобразование формата json (модуль json использует | список в json | json в список | словарь в json | json в словарь)


Строка формата 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

вставьте сюда описание изображения

Supongo que te gusta

Origin blog.csdn.net/han1202012/article/details/131776778
Recomendado
Clasificación