python序列化和反序列化_Python 中 json 数据序列化和反序列化

b3bb5932c69c56534600a474c0add2bf.png

1.Json 定义

定义:JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。JSON 的数据格式其实就是 python 里面的字典格式,里面可以包含方括号括起来的数组,也就是python里面的列表。

特点:简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

在 JS 语言中,一切都是对象。因此,任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型:

对象表示为键值对  

数据由逗号分隔  

花括号保存对象

方括号保存数组  

序列化简单定义:变成 json 格式。定义:变成json格式。

反序列化简单定义: json 格式变其它

"""字典格式与json格式对比"""

# 字典格式:

d = {'a': 123,'b': {'x': ['A', 'B', 'C']}}

# json格式

# 必须是双引号(因为java等其它语言有使用双引号表示字符串,单引号不表示字符串)

{"a": 123,"b": {"x": ["A", "B", "C"]}}

在 python 中,有专门处理 Json 格式的模块 ——> json 和 picle模块

Json 模块提供了四个方法: dumps、dump、loads、load

pickle 模块也提供了四个功能:dumps、dump、loads、load

2.json.dumps() 序列化

将 python 的值转换为 Json 格式的字符串。 

import json

res = {"userAccount":"admin","loginPwd":"123456"}

print(type(res))

du_res = json.dumps(res)

# print(du_res)

print(type(du_res))

# 结果如下

# json序列化过程中的中文显示

import json

res = {"userAccount":"管理员","loginPwd":"123456"}

du_res = json.dumps(res)

print(du_res)

# 结果如下

{"userAccount": "管理员", "loginPwd": "123456"}

# 转码

import json

res = {"userAccount":"管理员","loginPwd":"123456"}

du_res = json.dumps(res,ensure_ascii=False)

print(du_res)

#结果如下

{"userAccount": "管理员", "loginPwd": "123456"}

3.json.loads() 反序列化

将 json 格式的字符串转换成 python 的数据类型  

import json

res = {"userAccount":"管理员","loginPwd":"123456"}

du_res = json.dumps(res,ensure_ascii=False)

print(type(du_res))

# 将 json 格式的字符串转换成 python 的数据类型

dictlo_res = json.loads(du_res)

print(type(lo_res))

# 结果如下

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

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

相关文章

硬件:RS232基础知识笔记

个人计算机上的通讯接口之一,由电子工业协会(ElectronicIndustriesAssociation,EIA)所制定的异步传输标准接口。通常RS-232接口以9个引脚(DB-9)或是25个引脚(DB-25)的型态出现&#…

硬件:RS422基础知识笔记

❤️作者主页:IT技术分享社区 ❤️作者简介:大家好,我是IT技术分享社区的博主,从事C#、Java开发九年,对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。 ❤️个人荣誉: 数据库领域优质创作者🏆&#x…

硬件:串口握手基础知识笔记

RS-232通行方式允许简单连接三线:Tx、Rx和地线。但是对于数据传输,双方必须对数据定时采用使用相同的波特率。尽管这种方法对于大多数应用已经足够,但是对于接收方过载的情况这种使用受到限制。这时需要串口的握手功能。在这一部分&#xff0…

python高斯求和_二、算法分析

一、什么是算法分析程序和算法的区别:算法是对问题解决的分步描述程序是采用某种编程语言实现的算法,同一个算法通过不同的程序员采用不同的编程语言,能产生很多程序算法分析的概念:算法分析主要就是从计算资源消耗的角度来评判和…

硬件:交换机基础知识

1、交换机的概念交换机(Switch)意为“开关”,是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。其他常见的还有电话语音交换机、光纤交…

硬件:宽带猫(光猫)的基础知识

❤️作者主页:IT技术分享社区 ❤️作者简介:大家好,我是IT技术分享社区的博主,从事C#、Java开发九年,对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。 ❤️个人荣誉: 数据库领域优质创作者🏆&#x…

Sentinel介绍和Windows下安装Sentinel-dashboard

Sentinel 是什么? 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。 Sentinel 具有以下特征: 丰富的应用场景:Sentinel 承接…

盘点物联网常用的八种通信协议

目录 1、蓝牙 2、Zigbee 3、6LoWPAN 4、Wi-Fi 6、ModBus 7、PROFINET 8、EtherCAT 1、蓝牙 兼容的蓝牙IoT传感器非常适合需要短距离连接和低功率通信的应用。蓝牙协议的有效范围为50到100米,支持高达1 Mbps的数据传输速率。 最近,物联网开发人员已经表现…

docker安装Sentinel

1:拉取镜像:docker pull bladex/sentinel-dashboard 2:启动 docker run --name sentinel -d -p 8858:8858 -d bladex/sentinel-dashboard 3:访问 http://公网ip:8858 4:登录,用户名和密码都是sentinel

蓝牙技术的工作原理及用途

所谓蓝牙技术就是一种全球无线通讯标准,在一定距离内连接设备。目前,蓝牙技术也已应用到各个领域中,并已成为接入物联网(IOT)的主要技术。那关于蓝牙技术的工作原理本文将进行介绍,并概括其特点。蓝牙技术的…

什么是BusyBox?

BusyBox 是标准 Linux 工具的一个单个可执行实现。BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大、更复杂的工具,例如 grep、find、mount 以及 telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀.简单的说BusyBox就好…

同一接口有多个实现类,怎么来注入一个指定的实现?@Resource、@Autowired、@Qualifier

如果一个接口有2个以上不同的实现类, 那么如何Autowire一个指定的实现 1:首先,UserService接口有两个实现类 UserService1和 UserService2 UserService接口 2:以下是UserService接口的两个实现类UserService1和UserService2,请注意service注解的使用方式&#xff…

java类型比较_java 基本数据类型 ==和equals()比较

1.基本类型的存储Java 8种基本类型都是存储在堆栈中,例:int i 1;String str "hello world";也是存储在堆栈中。new基本类型的包装器类型和new String()都是存储在堆内存中。例Integer i new Integer(1);String str new String("hello…

嵌入式操作系统的主要特点都有哪些

嵌入式操作系统(EOS)是指用于嵌入式系统的操作系统。嵌入式操作系统是一种用途广泛的系统软件,通常包括与硬件的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式系统分为4层:硬件层、驱动层、…

java的继承实例_Java继承和多态实例

我们知道面向对象的三大特性是封装、继承和多态。然而我们有时候总是搞不清楚这些概念。下面对这些概念进行整理,为以后面向抽象的编程打下坚实的基础。封装的概念还是很容易理解的。如果你会定义类,那么相信你对封装的概念已经完全掌握了。下面定义的几…

【数据库】13种会导致索引失效语句写法

数据库的索引是保证数据快速查询的重中之重,以下13种会导致索引失效语句会导致你的SQL查询索引失效,具体如下:1、使用like关键字模糊查询时,% 放在前面索引不起作用,只有“%”不在第一个位置,索引才会生效&…

yii2史上最简单式安装教程,没有之一

作者:白狼 出处:www.manks.top/article/yii2_install 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 最近有小伙伴私聊我&…

java static调用吗_Java中的static的使用

1.Java 中被static修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享、且优先于对象存在。静态成员可以使用类名直接访问,也可以使用对象名进行访问。使用 static 可以修饰变量、方法和代码块。2…

15个搞笑的程序员段子

1. 问答Q:你是怎么区分一个内向的程序员和一个外向的程序员的?A:外向的程序员会看着你的鞋和你说话时。Q:为什么程序员不能区分万圣节和圣诞节?A:这是因为 Oct 31 Dec 25!(八进制的…