JSON通常用于在Web客户端和服务器数据交换
即把字符串类型
的数据转换成Python基本数据类型
或者将Python基本数据类型
转换成字符串类型
。
常用方法
json.load(obj):将字符串序列化成Python的基本数据类型,注意单引号与双引号
json.dumps(odj):将python的基本数据类型序列转化为字符串
json.loads(obj):读取文件中的字符串,序列化成python的基本数据类型
json.dump(obj):将python的基本数据类型序列化成字符串并写入到文件中
json.load(obj,ensure_ascii=False,indent=2)
ensure_ascii:让中文显示成中文
indent:能够让下一行在上一行的基础上空格
实例
- 将字符串转化为字典
#创建一个字符串变量dict_str
dict_str='{"k1":"v1","k2":"v2"}'
#数据类型为str
print(type(dict_str))
>>> <class'str'>
#将字符串变量dict_str序列转化为字典格式
import json
dict_json=json.loads(dict_str)
print(type(dict_json))
>>> <class'dict'>
print(dict_json)
>>> {'k1':'v1','k2':'v2'}
- 将列表类型的变量序列化成字符串类型
#创建一个列表json_li,数据类型为list
json_li = [11,22,33,44]
print(type(json_li))
<class 'list'>
#将字符串类型转换为Python的基本数据类型
import json
json_str = json.dumps(json_li)
print(type(json_str))
>>> <class'str'>
print(json_str)
>>> [11,22,33,44]
- 把字典当作字符串存入到db文档中
import json
import os
dic={"k1":123,"k2":456}#创建字典类型的数据
#将dic转化为字符串并且写入到当前目录db文件内,如果没有则创建
json.dump(dic,open("db","w"))
os.system("ls -1")
print(os.system("cat db"))
>>> {"k2":456,"k1":123}0
#最后的0表示命令执行成功
- 读取文件内容,把读取出来的字符串转换成Python的基本数据类型
#读取文件内容,把读取出来的字符串转换成python的基本数据类型
result=json.load(open("db","r"))
print(type(result),result)
>>> <type 'dict'> {u'k2':456,u'k1':123}