第一章 json
一、json简介
json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构
> 1. 对象:对象在js中表示为`{ }`括起来的内容,数据结构为 `{ key:value, key:value, ... }`的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是数字、字符串、数组、对象这几种。
> 2. 数组:数组在js中是中括号`[ ]`括起来的内容,数据结构为 `["Python", "javascript", "C++", ...]`,取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。
二、json用法
导包
import json
json模块提供了四个功能:`dumps`、`dump`、`loads`、`load`,用于字符串 和 python数据类型间进行转换。
1.json.loads()
作用:把json格式的字符串转为Python数据类型
示例代码:
import json
#json格式的字符串
strList = '[1, 2, 3, 4]'
strDict = '{"city": "北京", "name": "大猫"}'
list=json.loads(strList)
print(list)
print(type(list))
# [1, 2, 3, 4]
dict=json.loads(strDict)
print(dict)# json数据自动按Unicode存储
print(type(dict))
2.json.load()
作用:将json文件读取,并转为python类型
pingping.json
示例代码
import json
with open('./pingping.json', 'r') as f:
data = json.load(f)
print(data)
print(data["name"]) # 输出: pingping
print(data["age"]) # 输出: 23
print(data["is_active"]) # 输出: True