介绍

一种轻量级数据交互格式 JSON 语法是 JavaScript 对象表示语法的子集。

  • 数据在名称/值对中
  • 数据由逗号 , 分隔
  • 使用斜杆 \ 来转义字符
  • 大括号 {} 保存对象
  • 中括号 [] 保存数组,数组可以包含多个对象

格式

[
	{
		"name":"张大山",
		"age":11
	},
	{
		"name":"王大锤",
		"age":15
	},
	{
		"name":"赵小虎",
		"age":14
	}
]

pythonToJson为例

dumps

json.dump(json数据, ensure_ascii = 布尔) 模块: json 功能:将pythonstr格式转为json格式

import json  
  
# 相当于列表嵌套字典  
data = [  
    {  
        "name": "张大山",  
        "age": 11  
    },  
    {  
        "name": "王大锤",  
        "age": 15  
    },  
    {  
        "name": "赵小虎",  
        "age": 14  
    }  
]  
  
json_str = json.dumps(data, ensure_ascii=False)  
# ensure_ascii为False时代表不使用ascii码的方法转换字符,而是原字符直接输出  
print(json_str)
# output:
# [{"name":"张大山", "age":11}, {"name":"王大锤", "age":15}, {"name":"赵小虎", "age":14}]
import json
dictionary = {"name":"张大山", "age":11}
json_str = json.dumps(dictionary, ensure_ascii=False)
print(json_str)
# output:{"name":"张大山", "age":11}

load

json.load(数据) 模块:json json.load()会抛出异常,如果JSON数据格式不正确或者文件无法读取。你应该准备好处理这些异常,例如使用try...except语句 功能:将json格式(从文件中)转化为pythonstr格式

//data.json
{
    "name": "Alice",
    "age": 30,
    "is_student": false
}
import json
 
try:
    with open('data.json', 'r') as file:
        data = json.load(file)
    print(data)
except json.JSONDecodeError as e:
    print(f"JSON decode error: {e}")
except FileNotFoundError as e:
    print(f"File not found: {e}")
except Exception as e:
    print(f"An error occurred: {e}")