python json模块详解_python解析.json文件--json模块(内置)

第一part:json文件的介绍

1)JSON(JavaScript Object Notation) 的含义:

是一种轻量级的数据交换格式,它是JavaScript的子集,易于人阅读和编写。

json是一种通用的数据类型,一般情况下接口返回的数据类型都是json,格式与字典类似,形式也是{key:value},但是json是字符串

字符串不能用key、value来取值,所以要先将其转换为字典。

2)JSON的内容格式:每个参数之间,也是使用逗号隔开,但是最后一个参数不需要加逗号

2114399-20201008114135603-1542740584.png

第二part:python操作json文件的四个方法

python操作json文件,需要导入json模块,json为内置模块,其中主要使用如下四个方法进行操作:

方法

描述

json.dumps()

将 Python 对象编码成 JSON 字符串

json.loads()

将已编码的 JSON 字符串解码为 Python 对象

json.dump()

将Python内置类型序列化为json对象后写入文件

json.load()

读取文件中json形式的字符串元素转化为Python类型

总结:不管是dump还是load,带s的都是和字符串相关的,不带s的都是和文件相关的。

第三part:python读取json文件的数据,主要使用json.loads()和json.load()两个方法:

1)json.loads()方法的详细使用

import json

with open ("data2.json") as fp:

result=fp.read()

print("直接读取json文件的内容的类型为:",type(result))

print("将已编码的 JSON字符串解码为 Python对象的值为:",json.loads(result))

print('将json字符串转换为dict:',type(json.loads(result)))

执行结果,如下:

2114399-20201008123342393-1548677932.png

2)json.load()方法的详细使用

import json

with open("data2.json") as fp:

#load获取的数据是字典类型而非字符串;

result=json.load(fp)

print(type(result))

print(result)

执行结果,如下:

2114399-20201008124404849-1797912055.png

第四part:python写入数据到json文件,主要使用json.dumps()和json.dump()两个方法:

1)json.dumps()方法的详细使用

json.dumps()方法与json.loads()方法相对应,将python类型转换为json类型

import json

wri={'username': 'zhangsan', 'age': 22, 'sex': 'male', 'number': 142177753456}

with open ('data2.json','w') as fp:

result=json.dumps(wri)

print(result,type(result))

fp.write(result)

执行结果如下:

2114399-20201008125928804-1675815897.png

2114399-20201008125946857-580942562.png

2)json.dump()方法的详细使用

json.dump()方法与json.load()方法相对应,将python类型转换为json类型

import json

wri={'username': 'wangwu', 'age': 22, 'sex': 'male', 'number': 142177753456}

with open ('data2.json','w') as fp:

# 现在已经以json格式写进去,具有一个参数indent可以很好的显式json的格式,该参数即可以传入int类型也可以是str类型

json.dump(wri,fp,indent="\t",ensure_ascii=False)

执行结果如下:

2114399-20201008130909665-79396995.png

第五part:python数据类型与json数据类型的映射关系

Python----------->Json

Json ----------->Json

dict

object

object

dict

list, tuple

array

array

list

str, unicode

string

string

unicode

int, long, float

number

number (int)

int, long

True

true

number (real)

float

False

false

true

True

None

null

false

False

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值