一文搞懂JSON-CSDN博客
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于将数据结构化地传输和存储。它由键值对组成,采用类似于JavaScript对象的格式来表示数据。JSON易于阅读和编写,并且易于解析和生成,成为广泛应用于Web应用程序和数据交换的标准格式之一;
String 字符 | 双引号包围的Unicode字符序列 | "hello world" |
Number 数字 | 包括整数和浮点 | 1、3.14 |
Boolean 布尔值 | 表示真或假 | true、false |
Null 空值 | 表示空值 | null |
Object 对象 | 由一组无序的键值对组成,键为字符串,值可为任意json数据类型;键值对之间使用逗号分开,整个对象使用花括号{}包围; | { "value": value |
Array 数组 | 由一直有序的值组成,值可为任意json数据类型;值之间使用逗号分隔,整个数组使用方括号[]包围; | [1,2,3,4] |
{"name": "southernbrid","age": 14,"gender": true,"height": 1.65,"grade": null,"skills": ["JavaScript","Java","Python","Lisp"]
}
Python内置了json模块,用于处理json数据,提供了一下四个函数:
- json.dumps(obj),将python对象转换为json字符串;
- json.loads(json_string),将json字符串转换为python对象;
- json.dump(obj, fp),将python对象转换为json字符串,并写入文件流;
- json.load(fp),从文件流中读取json字符串,并转换为python对象;
//JSON序列化
import jsondata = {"name": "John","age": 30,"city": "New York"
}json_data = json.dumps(data)
print(json_data)
//json反序列化
import jsonjson_string = '{"name": "John", "age": 30, "city": "New York"}'data = json.loads(json_string)
print(data)
//将json写入到文件
import jsondata = {"name": "John","age": 30,"city": "New York"
}with open('data.json', 'w') as fp:json.dump(data, fp)
//从文件读取json
import jsonwith open('data.json', 'r') as fp:data = json.load(fp)
print(data)