【python学习】基础篇-常用模块-

Python中的json模块用于处理JSON数据,提供了将Python对象转换为JSON字符串的方法(dumps),以及将JSON字符串解析为Python对象的方法(loads)。

以下是json模块的一些常用方法:

1、将Python对象obj转换为JSON字符串。

json.dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True,allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)

可以设置一些可选参数,

skipkeys(bool):
默认为False,如果设置为True,则字典中缺少键的项将被跳过,而不是引发KeyError异常。
ensure_ascii(bool):
默认为True,如果设置为True,则输出的JSON字符串只包含ASCII字符。如果设置为False,则输出的JSON字符串可以包含非ASCII字符。
check_circular(bool):
默认为True,如果设置为True,则在检测到循环引用时会引发TypeError异常。如果设置为False,则不检查循环引用。
allow_nan(bool):
默认为True,如果设置为True,则允许NaN、Infinity和-Infinity这些特殊浮点值。如果设置为False,则不允许这些特殊浮点值。
cls(class):可选参数,
指定一个可调用对象来构造结果字符串。通常不需要使用此参数。
indent(int):可选参数,
指定缩进空格数。如果设置了该参数,则生成的JSON字符串将按照指定的缩进格式进行格式化。
separators(str):可选参数,
指定分隔符。如果设置了该参数,则生成的JSON字符串将按照指定的分隔符进行格式化。
default(callable):可选参数,
指定一个函数,当遇到无法序列化的对象时,将调用该函数并返回其结果。
sort_keys(bool):可选参数,
指定是否对字典的键进行排序。如果设置为True,则生成的JSON字符串中的字典键将按字母顺序排序。
**kw:可选参数,
用于传递其他关键字参数。

示例如下:

import jsondata = {"name": "张三","age": 30,"city": "北京"
}json_str = json.dumps(data, ensure_ascii=False)
print(json_str)

2、将JSON字符串s解析为Python对象

json.loads(s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)

可以设置一些可选参数,

s(str)
需要解析的JSON字符串。
encoding(str, optional)
指定编码方式,默认为None。
cls(class, optional)
指定解析后的对象类型,默认为None。
object_hook(callable, optional)
指定一个函数,用于转换字典中的值,默认为None。
parse_float(callable, optional)
指定一个函数,用于解析浮点数,默认为float()。
parse_int(callable, optional)
指定一个函数,用于解析整数,默认为int()。
parse_constant(callable, optional)
指定一个函数,用于解析常量,默认为None。
object_pairs_hook(callable, optional)
指定一个函数,用于转换字典中的键值对,默认为None**kw
可选参数,用于传递其他关键字参数

示例如下

import jsonjson_str = '{"name": "张三", "age": 30, "city": "北京"}'
data = json.loads(json_str)
print(data)

3、将Python对象obj序列化为JSON字符串并写入文件fp

json.dump(obj, fp, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True,cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)

可以设置一些可选参数
如indent表示缩进空格数等。
示例如下

import jsondata = {"name": "张三","age": 30,"city": "北京"
}with open('data.json', 'w') as f:json.dump(data, f, ensure_ascii=False)

4、从文件fp中读取JSON字符串并解析为Python对象

json.load(fp, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)

可以设置一些可选参数,
同上
示例如下

import jsonwith open('data.json', 'r') as f:data = json.load(f)print(data)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/159544.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ATFX汇市:非美货币扎堆升值,唯有USDCAD表现平平

ATFX汇市:10月4日至今,美元指数累计跌幅已经超过3.6%,最低触及103.18点,中期均线MA30被跌破,强势周期可能即将转变为弱势周期。随着美元的下跌,大部分非美货币快速升值,欧元、英镑、日元的升值幅…

对SPA的理解、对 vue组件化的理解

一、对SPA的理解? 理解基本概念 SPA(single-page application)单页应用,默认情况下我们编写 Vue、React 都只有一个html 页面,并且提供一个挂载点,最终打包后会再此页面中引入对应的资源。 (页面的渲染全部是由JS动态进行渲染的)。切换页面时…

Public Key Retrieval is not allowed客户端连接

使用DBeavear或navicat连接mysql服务器时,报错Public Key Retrieval is not allowed 原因: 客户端默认禁用 SSL/TLS 协议,客户端会使用服务器的公钥进行传输,默认情况下客户端不会主动去找服务器拿公钥,进而会出现…

Power Apps-Timer

插入一个计时器 右侧属性面板,持续时间的单位是毫秒,60000就是60秒(一分钟);开启重复是指60秒结束后重新开始计时;自动启动是指当从其他页面进入时是否自动开始计时;自动暂停是指当离开这个页面…

Verilog开源项目——百兆以太网交换机(三)Hash模块设计

Verilog开源项目——百兆以太网交换机(三)Hash模块设计 🔈声明:未经作者允许,禁止转载 😃博主主页:王_嘻嘻的CSDN主页 🔑全新原创以太网交换机项目,Blog内容将聚焦整体架…

Java Spring

文章目录 SpringSpring 是什么?从Spring中获取Beanxml获取注解存储类注解⽅法注解bean命名规则类注解之间的关系 注解获取bean属性注⼊缺点 构造⽅法注⼊Setter 注⼊三种注⼊优缺点分析Resource:另⼀种注⼊关键字同⼀类型多个 Bean 报错处理 获取bean对象…

【React-Router】嵌套路由

1. 嵌套路由 在一级路由中又内嵌了其他路由&#xff0c;这种关系就叫做嵌套路由。 2. 嵌套路由配置 // /page/About/index.js const About () > {return (<div>二级路由 About 组件</div>) }export default About// /page/Layout/index.js import { Outlet, …

走进长光,看卫星是怎样炼成的?

在双11专场直播中&#xff0c;长光卫星嘉宾与大家分享了长光的科普教育基地。 这让我回想起了&#xff0c;我们去年到长光参观学习的场景。 让我们再次走进长光&#xff0c;在参观学习增长见识的同时&#xff0c;也可以看看卫星是怎样炼成的&#xff1f; 出发 2022年8月23日…

从零开始安装并运行YOLOv5

从零开始安装并运行YOLOv5 该文主要实现用YOLOv5的基准检测为自己的视频片段渲染对象检测结果和边界框&#xff0c;本文大部分都是实操&#xff0c;帮助大家快速上手。 什么是YOLOv5&#xff1f; ​ yolo是一种用于对象检测的最先进的机器学习模型&#xff0c;yolo有不同的版…

YOLOv5 分类模型 OpenCV和PyTorch两者实现预处理的差异

YOLOv5 分类模型 OpenCV和PyTorch两者实现预处理的差异 flyfish PyTorch封装了PIL库 简单对比下两者的使用方法 import cv2 from PIL import Image import numpy as npfull_path_file_name"/media/a//ILSVRC2012_val_00001244.JPEG"#OpenCV读取图像默认是BGR顺序 …

HTML5+CSS3+JS小实例:霁青+翠蓝的Tabbar动画特效

实例:霁青+翠蓝的Tabbar动画特效 技术栈:HTML+CSS+JS 字体图标库:Font Awesome 效果: 源码: 【HTML】 <!DOCTYPE html> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta nam…

提升效率必备:电脑文件批量重命名的实用技巧大放送

在日常工作中&#xff0c;电脑文件的重命名是一项常见的操作。当要处理大量的文件&#xff0c;并且要按照一定的规则或逻辑进行重命名时&#xff0c;手动一个一个重命名显然是非常低效的。掌握批量重命名的技巧可提高工作效率。现在一起来看云炫文件管理器如何批量重命名电脑上…

CmakeLists编译的动态库.so移动到其他位置后,提示找不到该库的依赖库解决办法

主要问题&#xff1a; 最近在搞海康SDK调用相机&#xff0c;发现在linux下一直调用不起来相机&#xff0c;总是提示error code&#xff1a;29&#xff0c;注册失败&#xff0c;重新编译优惠存在找不到依赖库的问题。 1.异常 CmakeLists编译的动态库.so移动到其他位置后&#…

Python Pandas简介及基础教程+实战示例。

文章目录 前言一、Pandas简介二、Python Pandas的使用关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面试资料六、Python兼职渠道 前言 Pan…

队列:C++实现

引言&#xff1a; 在C中实现队列是一种常见的数据结构操作。队列是一种先进先出&#xff08;FIFO&#xff09;的数据结构&#xff0c;类似于排队买票或者排队等待服务的场景。在本文中&#xff0c;我们将使用C语言来实现一个简单的队列数据结构。 技术实现&#xff1a; 首先&a…

道可云元宇宙每日资讯|第四届元宇宙与人工智能产业生态大会在朝阳区举行

道可云元宇宙每日简报&#xff08;2023年11月22日&#xff09;讯&#xff0c;今日元宇宙新鲜事有&#xff1a; 第四届元宇宙与人工智能产业生态大会在朝阳区举行 近日&#xff0c;第四届元宇宙与人工智能产业生态大会在朝阳区举行。大会由北京市朝阳区政府主办。会上&#xff…

webpack项目 index.html 根据不同的变量引入不同的js

项目 webpack搭建 问题&#xff1a;在入口文件index.html中根据不同的变量引入不同的js 使用插件HtmlWebpackPlugin HtmlWebpackPlugin 项目里用来生成静态文件的 这个插件每个项目基本都要用到的&#xff0c;只要全局搜一下位置 根据配置文件的指令找到执行的文件&#xff0…

海外应用速度访问慢?试试这个技术解决方案

在数字化转型的时代&#xff0c;企业需要高效、稳定、安全的网络连接来支撑全球化业务的拓展。然而&#xff0c;在进行海外应用访问时&#xff0c;经常会遇到访问速度慢的问题&#xff0c;因为跨国界的网络通信往往存在延迟和带宽限制等问题。在过去&#xff0c;企业通常会使用…

洛谷 P2294 [HNOI2005] 狡猾的商人

[HNOI2005] 狡猾的商人 题目描述 刁姹接到一个任务&#xff0c;为税务部门调查一位商人的账本&#xff0c;看看账本是不是伪造的。账本上记录了 n n n 个月以来的收入情况&#xff0c;其中第 i i i 个月的收入额为 a i a_i ai​&#xff0c; i 1 , 2 , … , n − 1 , n i…

Thinkphp6 模型 指定字段自增的方法

tp6要使用Db类必须使用门面方式&#xff08;think\facade\Db&#xff09;调用。 use think\facade\Db; 然后&#xff0c;用Db::raw就可以实现指定字段自增了。