python爬虫-18-python与json的爱恨情仇

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。json作为流传广泛的数据格式,我们必须得知道使用python是如何处理的,毕竟json的本质也是字符串嘛。

图片

1、json支持的数据格式


(1)对象(字典),使用花括号{};
(2)数组(列表),使用中括号[];
(3)整形、浮点型、布尔类型、Null;
(4)字符串类型,必须用双引号,单引号会无法解析。

2、python字典和列表转换成json

方法:

json.dumps

示例:

import json

Jier = [
    {'username': 'yunweijia'},
    {'age': '26'},
    {'address': 'beijing'},
    'nihaoya', 'wohaoya'
]

print(type(Jier))
Suner = json.dumps(Jier)
print(type(Suner))
print(Suner)

运行结果如下:

<class 'list'>
<class 'str'>
[{"username": "yunweijia"}, {"age": "26"}, {"address": "beijing"}, "nihaoya", "wohaoya"]

有人说了,看起来不是差不多嘛,但是我们可以发现原来是list类型,现在变成了str,且所有的单引号都变成双引号了嘛。

3、json转换成python字典和列表

方法:

json.loads

示例:

import json

Jier = '[{"username": "yunweijia"}, {"age": "26"}, {"address": "beijing"}, "nihaoya", "wohaoya"]'

print(type(Jier))
Suner = json.loads(Jier)
print(type(Suner))
print(Suner)

运行结果如下:

<class 'str'>
<class 'list'>
[{'username': 'yunweijia'}, {'age': '26'}, {'address': 'beijing'}, 'nihaoya', 'wohaoya']

同上面正好相反哈,正好是将jsonstr模式,变成了pythonlist模式,且双引号变成了单引号

4、将json格式的数据直接写入文件

方法:

json.dump

示例:

import json

Jier = [
    {'username': 'yunweijia'},
    {'age': '26'},
    {'address': 'beijing'},
    'nihaoya', 'wohaoya'
]

with open('ceshi.txt', 'w', encoding='utf-8') as f:
    json.dump(Jier, f)
    f.close()

ceshi.txt文件中的内容如下:

[{"username": "yunweijia"}, {"age": "26"}, {"address": "beijing"}, "nihaoya", "wohaoya"]

5、从文件中读取json格式数据

方法:

json.load

示例:

import json

with open('ceshi.txt', 'r', encoding='utf-8') as f:
    Jier = json.load(f)
    print(type(Jier))
    print(Jier)
    f.close()

运行结果如下:

<class 'list'>
[{'username': 'yunweijia'}, {'age': '26'}, {'address': 'beijing'}, 'nihaoya', 'wohaoya']

我们可以发现,虽然文件中存放的是json类型的字符串,其实当python使用json.load方法读取之后,他依旧会变成python语言的list或者dict类型,这里需要注意。

6、重要参数

剩余内容请转至VX公众号 “运维家” ,回复 “179” 查看。

------ “运维家” ,回复 “179” ------
------ “运维家” ,回复 “179” ------
------ “运维家” ,回复 “179” ------

linux系统下,mknodlinux,linux目录写权限,大白菜能安装linux吗,linux系统创建文件的方法,领克linux系统怎么装软件,linux文本定位;
ocr识别linux,linux锚定词尾,linux系统使用记录,u盘有linux镜像文件,应届生不会Linux,linux内核64位,linux自启动管理服务;
linux计算文件夹大小,linux设备名称有哪些,linux能用的虚拟机吗,linux系统进入不了命令行,如何创建kalilinux,linux跟so文件一样吗。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值