Python学习笔记(十)—JSON格式的处理


一、简介

JSON(JavaScript Object Notation) 是一种轻量级的通用的数据交换格式,所有的脚本语言都认识该格式,易于人阅读和编写。
JSON不能直接通过字典的方式取值,实际上它是字符串格式,需要转成字典格式才行;json串的定义必须使用双引号而不能使用单引号。
二、JSON常用的方法:

使用JSON前必须先导入JSON库:import json

loads方法和dumps方法用来处理字符串,如果你要处理的是文件而不是字符串,你可以使用 json.dump() 和 json.load() 来编码和解码JSON数据。

  loads()方法:将json串转换成字典格式;用来处理字符串

  实例1:

 1 1 s = '''{
 2  2     "test":1,
 3  3     "test2":23,
 4  4     "test3":{
 5  5         "test4":666
 6  6     }
 7  7 }'''
 8  8 import json
 9  9 res = json.loads(s)  #json串(字符串),转成字典
10 10 print('原始数据:',s)
11 11 print('JSON对象:',res)
12 12 print(res.keys())  #打印字典所有的key
13 13 print(type(res)) #查看res的数据类型

  load()方法:将json串转换成字典格式;用来处理文件

  实例2:

1 1 #前提需要自己创建一个JSON文件
2 2 f = open('stus.json',encoding='utf-8')  #打开json文件
3 3 user_dic = json.load(f) #操作文件对象,将其转换成字典格式
4 4 print(user_dic)
5 5 f.close()

  dumps()方法:将字典转换成json串格式,用来处理字符串;后边可以跟参数:indent方法是用来进行缩进的可以以json格式进行显示;ensure_ascii=false中文可以正常显示

  实例3:

1 1 stus = {'test':123456,'test2':780,'test3':0000,'小白':'我是谁'}
2 2 print(type(stus))  #查看初始数据类型
3 3 res2 = json.dumps(stus,indent=4,ensure_ascii=False) #将字典,转换成json串;indent方法是用来进行缩进的可以以json格式进行显示;ensure_ascii=false中文可以正常显示
4 4 print(res2)
5 5 print(type(res2))

  dump()方法:将字典转换成json串格式;用来处理文件

1 f = open('stus1.json','w',encoding='utf-8')  #以写入模式创建一个新的json文件
2 json.dump(stus,f,indent=4,ensure_ascii=False) #将stus文件的值写入stus1文件
3 f.close()
原文地址:https://www.cnblogs.com/beginner-boy/p/12508790.html