python标准库模块之json库的基础用法

目录
  • 前言
  • 作用
  • loads,load的用法
  • dumps,dump的用法
  • 结语

前言

json,全称为JavaScript Object Notation,也就是JavaScript对象标记,通过对象和数组的组合表示数据,虽然构造简洁但是结构化程度非常高,是一种轻量级的数据交换格式。

作用

主要用于将python对象编码为json格式输出或存储,以及将json格式对象解码为python对象。

一个 JSON 对象可以写为如下形式:

[{
    "name": "小明",
    "height": "170",
    "age": "18"
}, {
     "name": "小红",
    "height": "165",
    "age": "20"
}]

由中括号包围的就相当于列表类型,列表中的每个元素可以是任意类型,这个示例中它是字典类型,由大括号包围。

JSON 可以由以上两种形式自由组合而成,可以无限次嵌套,结构清晰,是数据交换的极佳方式。

下面先来了解一下json中loads,和load

loads,load的用法

例如,有一段 JSON 形式的字符串,它是 str 类型,我们用 json.loads转换成python的数据结构,变成列表或字典,这样我们就能进行操作了。

import json

data = '''
[{
    "name": "小明",
    "height": "170",
    "age": "18"
}, {
     "name": "小红",
    "height": "165",
    "age": "20"
}]
'''

# 打印data类型
print(type(data))
# json类型的数据转化为python类型的数据
new_data = json.loads(data)
# 打印data类型
print(type(new_data))

运行结果如下

这样来我们就可以用索引获取对应的内容了,例如想要获取第一个元素里的name属性,可以使用如下方式:

import json

data = '''
[{
    "name": "小明",
    "height": "170",
    "age": "18"
}, {
     "name": "小红",
    "height": "165",
    "age": "20"
}]
'''

# 打印data类型
print(type(data))
# json类型的数据转化为python类型的数据
new_data = json.loads(data)
# 获取内容
name = new_data[0]['name']
new_name = new_data[0].get('name')
# 打印转换后data类型
print(type(new_data))

print(name)
print(new_name)

运行结果

以上就是loads的用法。

load的用法是把json格式文件,转换成python类型的数据。

注意 :load方法操作的是整个文件对象,这里是将整个整个文件对象里面的内容转化为json对象。(下图是文件操作对象)

示例

import json

import json

# load的用法是把json格式文件,转换成python类型的数据。

# 构建该文件的文件对象
with open('test1.json',encoding='utf-8')as fp:
    # 加载垓文件对象,转换为python类型的数据
    pyth_list = json.load(fp)
    print(pyth_list)
    print(type(pyth_list))
    print(type(pyth_list[0]))

需要有一个文件操作对象运行结果

以上就是loads和load的用法,两种方法可以在适当的场景下使用。

dumps,dump的用法

json.dumps()函数,把python类型的数据转换成json字符串

json.dump()函数, 把python类型的数据以json格式储存到文件中

dumps函数

import json

data = '''
[{
    "name": "小明",
    "height": "170",
    "age": "18"
}, {
     "name": "小红",
    "height": "165",
    "age": "20"
}]
'''

# 打印要来data类型
print(type(data))
# json类型的数据转化为python类型的数据
new_data = json.loads(data)

# 把python类型的数据转换成json字符串
lit = json.dumps(new_data)

# 打印转换后data类型
print(type(new_data))

print(type(lit))

运行结果

其实loads和dumps的用法都是一致的,loads是将json类型的数据转化为python类型的数据,而dumps是将json类型的数据转化为python类型的数据。相当于一个是编码一个是解码。

dump函数

把python类型的数据以json格式储存到文件中

import json
import json

data = '''
[{
    "name": "小明",
    "height": "170",
    "age": "18"
}, {
     "name": "小红",
    "height": "165",
    "age": "20"
}]
'''

# json类型的数据转化为python类型的数据
new_data = json.loads(data)

# 把python类型的数据以json格式储存到文件中
# 构建要写入文件对象
with open('test1.json','w',encoding='utf-8')as fp:
    # 把python类型的数据以json格式储存到文件中
    json.dump(new_data,fp,ensure_ascii=False)

为了输出中文,还需要指定参数 ensure_ascii 为 False

储存文件

结语

到此这篇关于python标准库模块之json库的基础用法的文章就介绍到这了,更多相关python标准库模块json库内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python中最好用的json库orjson用法详解

    目录 1 简介 2 orjson常用方法 2.1 序列化 2.2 反序列化 2.3 丰富的option选项 2.4 针对dataclass.datetime添加自定义处理策略 总结 1 简介 大家好,我们在日常使用 Python 的过程中,经常会使用 json 格式存储一些数据,尤其是在 web 开发中.而 Python 原生的 json 库性能差.功能少,只能堪堪应对简单轻量的 json 数据存储转换需求. 而本文我要给大家介绍的第三方 json 库 orjson ,在公开的各项基准性能测试中

  • Python使用JSON库解析JSON数据的方法

    目录 1 如何在网页中获取 JSON 数据? 2 Python 内置的 JSON 库 1 如何在网页中获取 JSON 数据? 打开一个具有动态渲染的网页,按 F12 打开浏览器开发工具,点击“网络”,再刷新一下网页,观察是否有新的数据包. 发现有 js 后缀的文件,这就是我们想要的 json 数据了. 2 Python 内置的 JSON 库 内置的 json 库的函数: dumps:用于将 Python 的数据类型转化为 json 字符串. loads:将 json 字符串转化为 Python

  • python标准库模块之json库的基础用法

    目录 前言 作用 loads,load的用法 dumps,dump的用法 结语 前言 json,全称为JavaScript Object Notation,也就是JavaScript对象标记,通过对象和数组的组合表示数据,虽然构造简洁但是结构化程度非常高,是一种轻量级的数据交换格式. 作用 主要用于将python对象编码为json格式输出或存储,以及将json格式对象解码为python对象. 一个 JSON 对象可以写为如下形式: [{ "name": "小明",

  • Python使用jsonpath-rw模块处理Json对象操作示例

    本文实例讲述了Python使用jsonpath-rw模块处理Json对象操作.分享给大家供大家参考,具体如下: 这两天在写一个爬虫,需要从网站返回的json数据提取一些有用的数据. 向url发起请求,返回的是response,在python3中,response.content是二进制bytes类型的,需要用decode()转成unicode的str类型 #如果用的requests发的请求 import json response = requests.get(url,headers=self.

  • Python利用jmespath模块进行json数据处理

    jmespath是python的第三方模块,是需要额外安装的.它在python原有的json数据处理上 做出了很大的贡献,至于效果接下来试试就知道了有多方便. 话不多说,我们直接进入正题… 既然是第三方的库,那肯定是要安装的.通过pip的方式先将jmespath库安装好… pip install jmespath 将安装好的模块导入到代码块中… import jmespath as jp jmespath中有一个很重要.很方便的函数那就是search,不管你的json数据有多么变态,它都能给你找

  • python利用os模块编写文件复制功能——copy()函数用法

    我就废话不多说了,大家还是直接看代码吧~ #文件复制 import os src_path=r'E:\Pycharm\python100题\代码' target_path=r'E:\Pycharm\python100题\123' #封装成函数 def copy_function(src,target): if os.path.isdir(src) and os.path.isdir(target): filelist=os.listdir(src) for file in filelist: p

  • python中string模块各属性以及函数的用法介绍

    任何语言都离不开字符,那就会涉及对字符的操作,尤其是脚本语言更是频繁,不管是生产环境还是面试考验都要面对字符串的操作. python的字符串操作通过2部分的方法函数基本上就可以解决所有的字符串操作需求: • python的字符串属性函数 • python的string模块 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1.字符串属性函数  系统版本:CentOS release 6.2 (Final)2.6.32-220.

  • 详解Python使用simplejson模块解析JSON的方法

    1,Json模块介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集.JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)

  • python标准日志模块logging的使用方法

    最近写一个爬虫系统,需要用到python的日志记录模块,于是便学习了一下.python的标准库里的日志系统从Python2.3开始支持.只要import logging这个模块即可使用.如果你想开发一个日志系统, 既要把日志输出到控制台, 还要写入日志文件,只要这样使用: 复制代码 代码如下: import logging# 创建一个loggerlogger = logging.getLogger('mylogger')logger.setLevel(logging.DEBUG)# 创建一个ha

  • Python中shutil模块的常用文件操作函数用法示例

    os模块提供了对目录或者文件的新建/删除/查看文件属性,还提供了对文件以及目录的路径操作.比如说:绝对路径,父目录--  但是,os文件的操作还应该包含移动 复制  打包 压缩 解压等操作,这些os模块都没有提供. 而本文所讲的shutil则就是对os中文件操作的补充.--移动 复制  打包 压缩 解压, shutil函数功能: 1  shutil.copyfileobj(fsrc, fdst[, length=16*1024]) copy文件内容到另一个文件,可以copy指定大小的内容 先来看

  • Python的SQLalchemy模块连接与操作MySQL的基础示例

    一.SQLalchemy简介 SQLAlchemy是一个开源的SQL工具包,基本Python编程语言的MIT许可证而发布的对象关系映射器.SQLAlchemy提供了"一个熟知的企业级全套持久性模式,使用ORM等独立SQLAlchemy的一个优势在于其允许开发人员首先考虑数据模型,并能决定稍后可视化数据的方式. 二.SQLAlchempy的安装 首先需安装mysql,这里就不再多说了..... 然后,下载SQLAlchemy(http://www.sqlalchemy.org/download.h

随机推荐