JSON介绍
JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。[百度百科]
JSON基本语法
- JSON 规定字符集是UTF-8,字符串必须使用"",数据的名称也必须使用"",不能使用单引号 ''
- 数组或对象的最后一个成员,不能加逗号
数据
JSON 数据的书写格式是:“名称/值”对,其中值可以是:数字(整数或浮点数)、字符串(在双引号中)、逻辑值(true 或 false)、数组(在方括号中)、对象(在花括号中)、null,数据之间用逗号分隔。
"csdn" : "John",
"age" : 23
对象
JSON 对象在花括号中书写,可以包含多个名称/值对数据。
{
"csdn" : "John",
"age" : 23
}
数组
JSON 数组在方括号中书写,可包含多个对象,对象之间逗号分隔。
[
{
"csdn" : "John",
"age" : 23
},
{
"major" : "cs",
"years" : 4
}
]
JSON文件写入
json.dumps(param) 是将json数据对象转换为文本字符串的函数,其函数名是dump string 的缩写,意思是输出字符串,其参数param必须要是json对象。json对象–>字符串str
import json
me = [
{
"csdn" : "John",
"age" : 23
},
{
"major" : "cs",
"years" : 4
}
]
with open('me.json','w') as file:
file.write(json.dumps(me, indent=2))#indent为了缩进
JSON文件读取
json.loads(param) 是将文本字符串转换为json对象的函数,其函数名是load string 的缩写,意思是加载字符串。字符串str–>json对象
import json
with open('me.json','r') as file:
str = file.read()
data = json.loads(str)
print(data)
print(type(data))#python列表的类型
字符串str–>json对象
import json
str='''[
{
"csdn" : "John",
"age" : 23
},
{
"major" : "cs",
"years" : 4
},
{
"major" : "计算机科学与技术",
"years" : "全日制4年"
}
]
'''
print(type(str))#string
data = json.loads(str)
print(data)
print(type(data))#python列表的类型