JSON:JavaScript Object Notation (JavaScript 对象表示法)
json是一种轻量级的数据交换格式,完全独立于任何语言程序语言的文本格式。一般后台应用程序将响应数据封装成json格式返回
基本语法:名称/值对 名称/值对包括字段名称(在双引号中),接着是冒号(:),最后是值
json最常用格式是对象的键值对
{
"sites": [
{ "name":"360" , "url":"www.360.com" },
{ "name":"google" , "url":"www.google.com" },
{ "name":"baidu" , "url":"www.baidu.com" }
]
}
key只能是string, value可以是 数字(整数或浮点数)、字符串、true/false、数组、对象、null
键通过双引号包裹,后面跟冒号(:),然后跟键的值
值可以是数字、字符串、数组等类型
对象与对象之间用逗号隔开
“{}”用来保存对象
“[]”用来保存数组
json的key只能是字符串,dict的key可以是字符串、数字、元组等
字典是一种数据结构,json是一种数据格式,字典有许多内置方法,有多种调用方式。而json是一种数据打包的一种格式,不如字典的具备操作性
json的字符串强制用双引号,字典的字符串可以用单双引号
一般,我们会把json转化成python的字典或列表,在进行操作
python3的标准库JSON模块
常用JSON模块方法:
json.dumps():把python中的对象转换成json中的字符串对象
json.dump():将python对象转换成json字符串输出到文件流中
json.loads():将json中的字符串对象转换成python对象
json.load():读取包含json对象的文件
注:带s的都是和字符串相关的,不带s的都是和文件相关的。
1、使用json.dumps()将字典转换成json字符串
//使用json.dumps()方法将字典转换为JSON字符串
person_dict={'name':'xiaohong','age':12}
person_json=json.dumps(person_dict)
print(type(person_json))
print('person_json'+person_json)
2.使用json.dump()将字典以json格式写入python文件
person_dict = {'name': 'xiaohong', 'age': 12, 'number': '2222222'}
with open('test1.json', 'w', encoding='utf-8') as json_f:
json.dump(person_dict, json_f)
3.使用json.loads()方法解析JSON字符串,返回一个字典
person_json_str = '{"name": "xiaohong", "age": 12, "number": "2222222"}'
person_dict = json.loads(person_json_str)
print(type(person_dict))
转换成字典后可以使用key来访问
print(person_dict[“name”])
4.使用json.load()读取json文件
#读取json文件
with open('test1.json', 'r') as f:
data = json.load(f)
print(type(data))
print(data)
python类型转换json类型的对应关系表
json类型转换成python类型对照表