Python中的json的使用

举报
布小禅 发表于 2021/06/22 19:00:02 2021/06/22
【摘要】 @[TOC] 前言在学python爬虫的路上,json是必不可少的,让我带你们了解一下json数据 json学习 了解jsonJSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为...

在这里插入图片描述

@[TOC]

前言

在学python爬虫的路上,json是必不可少的,让我带你们了解一下json数据

json学习

了解json

JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
具体来说就是一个数据类型,主要用于存储数据。

json支持的数据格式

  1. 字典 :由{}括起来的键值对形式的数据格式
  2. 列表 :由[]括起来的数据格式
  3. 整型 :整型数字
  4. 浮点型 :单双精度
  5. 布尔型 :布尔型
  6. 字符串 :字符串
    多个数据之间使用逗号分开,json本质上属于字符串类型,由单双引号括起来

python中的json

python中,也支持python数据类型和json数据的相互转换,由json库支持
主要有四个方法:

  1. loads:将json数据转为python数据
import json
json_1 = '{"a": 1,"b": 2}'
print(json.loads(json_1))
print(type(json.loads(json_1)))
'''
运行结果
{'a': 1, 'b': 2}
<class 'dict'>
'''
  1. dumps:将python数据转为json数据
import json
json_1 = {"a": 1,"b": 2}
print(json.dumps(json_1))
print(type(json.dumps(json_1)))
'''
运行结果
{"a": 1, "b": 2}
<class 'str'>
'''

dumps转换的时候,默认使用ASCII编码格式,意思就是,若是有中文,就会不显示,那么怎么显示呢?

print(type(json.dumps(json_1, ensure_ascii=False)))  
# 可以把默认ASCII关掉
  1. load:将json文件数据以python数据读取
  2. dump:将python数据以json数据存入文件
    是不是感觉有那么一丢丢难理解,不多哔哔看代码,我这里把两个一起说了,感觉这样更好理解
import json

d = [{"a": 1, "b": 2}]
with open("a.json", 'w', encoding='utf-8') as f:
    json.dump(d, f, ensure_ascii=False)

with open("a.json", 'r', encoding='utf-8') as f:
    a = json.load(f)
print(a)
print(type(a))

'''
运行结果:
[{'a': 1, 'b': 2}]
<class 'list'>

OK就是这样了
这样应该就理解了吧,那么就再见了,朋友

结语

学习如逆水行舟,不进则退,所以一定要在学习后多加练习

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。