Skip to content

Latest commit

 

History

History
81 lines (62 loc) · 2.64 KB

kc48.md

File metadata and controls

81 lines (62 loc) · 2.64 KB

4-8 JSON在Python中的应用

JSON 是一系列键值对(key=>value)的组合,key必须唯一,value可以是任何类型(也可以是另外一个JSON),和Python的字典(Dict)类型非

常相似,以一对大括号 {}标识开始和结束, key用双引号""标识,value根据数据的类型除为JSON对象和数值类型外,其它都需要加双引号""

看一个简单的JSON:

{"name": "大美丽", "age": 18}

包含两个key, "name" , "age" value为两种类型,"大美丽" 字符型, 18 数字型

JSON是当前互联网数据请求接口传输中必备的数据结构,因为它短小、清晰、简洁、快速。相对于同样可以做数据传输和描述的XML来说,

XML相对比起来就笨重、复杂了好多

python提供了两个有用的函数来处理json的数据,使用下面方法的时候,需要先导入json库

  • json.dumps 将一个python的类型(一般为字典或者列表)转为json字符串
  • json.loads 将一个JSON字符串,转为字典, 因为python是不能直接操作JSON的,需要把JSON转成python可以识别的类型

1.python中如何使用json - json.dumps

代码区 1

 1 import json
 2 
 3 # 定义了一个字典类型的数据类型
 4 d = {'name': '大漂亮', 'age': 18}
 5 
 6 # 通过 json.dumps把字典类型的转为json字符串, 第二个参数,主要解决中文乱码显示的问题 , 因为
 7 # dumps 对于非ascii字符生成的是相对应的字符编码,而非原始字符
 8 j = json.dumps(d, ensure_ascii=False)
 9 print('我转成了json字符串', j)
10
11 # 下面用到了type函数, type用来返回变量的变量的数据类型 让你明白,dumps进行了数据转换
12 print(type(d))
13 print(type(j))
14

4

我转成了json字符串 {"name": "大漂亮", "age": 18}
<class 'dict'>
<class 'str'>

2.python中如何使用json - json.loads

代码区 2

 1 import json 
 2 
 3 value = '{"name": "大美丽", "age": 18}'
 4 
 5 print(type(value))
 6 print('我是一个JSON字符串', value)
 7 
 8 print('==================================')
 9 
10 d = json.loads(value)
11 print(type(d))
12 print('我转成了字典类型', d)
13 print('取出字典中的name', d['name'])
14

4

<class 'str'>
我是一个JSON字符串 {"name": "大美丽", "age": 18}
==================================
<class 'dict'>
我转成了字典类型 {'name': '大美丽', 'age': 18}
取出字典中的name 大美丽