首页 > 其他分享 >json模块

json模块

时间:2024-04-22 09:34:33浏览次数:18  
标签:fp json dict user 模块 序列化 data

【一】什么是序列化

将Python中的字典、列表、元组 ... 转换成 字符串类型

如果使用str强制转换数据类型,造成的后果就是转换后的字符串无法转回Python对象

【二】什么是反序列化

将字符串类型的数据转换成Python对象(列表、字典、元组 ... )

能将python对象转为字符串 --> 字符串转回python对象

【三】json模块

【1】导入json模块

【2】反序列化和序列化方法之保存和读取

(1)序列化保存Python对象数据

user_data_dict = {
'username': "dream",
"password": "521"
}

保存到本地的文件中 保存进去是字典格式的字符串 独取出来也是字典格式的字典

'''
with open("user_data.text", 'w', encoding='utf-8') as fp:
fp.write(str(user_data_dict))

with open("user_data.text", 'r', encoding='utf-8') as fp:
data = fp.read()
print(data)
print(dict(data))
'''

存储为json文件数据

'''
with open('user_data.json', 'w', encoding="utf-8") as fp:
json.dump(obj=user_data_dict, fp=fp)
'''

在内部自动将单引号全部转换为双引号,然后保存进去

(2)将json格式数据转换W为Python对象

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

【3】反序列化和序列化方法之转换

我就想将一个字典转换为字符串 转回字典

'''

(1)将字典转换为字符串格式

data_json_str = json.dumps(obj=user_data_dict)
print(data_json_str, type(data_json_str)) # {"username": "dream", "password": "521"} <class 'str'>

(2)将字符串转回 python对象

data_json_dict = json.loads(data_json_str)
print(data_json_dict, type(data_json_dict)) # {'username': 'dream', 'password': '521'} <class 'dict'>
'''

'''
import json

【4】使用json保存数据的时候的特点

user_data = {'name': "蚩梦", "age": 18}
with open('data.json', 'w', encoding='utf-8') as fp:
json.dump(obj=user_data, fp=fp, ensure_ascii=False)

编码和解码

编码 encode(编码格式)

解码 decode(编码格式)

'''

import json

【4】使用json保存数据的时候的特点

user_data = {'name': "蚩梦", "age": 18}
with open('data.json', 'w', encoding='utf-8') as fp:
json.dump(obj=user_data, fp=fp, ensure_ascii=False)

编码和解码

编码 encode(编码格式)

解码 decode(编码格式)

标签:fp,json,dict,user,模块,序列化,data
From: https://www.cnblogs.com/zenopan101861/p/18150004

相关文章

  • C#的基于.net framework的Dll模块编程(一) - 编程手把手系列文章
    从此博文开始分几篇介绍C#的开发。这次讲讲C#的.netframework的Dll文件类库模块的编程方法。对于Windows来说,要运行应用程序要基于Dll类库和Exe执行文件。对于笔者来说,模块化的编程方式,就是将一些函数等封装到Dll类库文件中,将这些类库集中和分模块进行编写和管理。就是......
  • time模块,datetime模块,os模块,random模块,logging模块,hashlib模块
    Ⅰtime模块【1】表示时间的三种方式#【1】时间戳表示时间:时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数#我们当时给函数计时两次时间戳相减得到了消耗的总时间#【2】元组(struct_time)(年,月,日,时,分,秒,......
  • 程序模块化设计结构化开发优势
    程序模块化设计结构化开发1.模块化开发,符合高内聚,低耦合的设计。在具体的程序修改的时候,程序代码不过于分散。有利于维护。同时也有利于对外提供接口能力。2.模块化更多的规模或能力,可以理解为微服务。独立部署独立运行。不影响整理的系统功能。3.举例:对外部入参做转换处理,可以将......
  • Golang一日一库之gjson
    官网https://github.com/tidwall/gjson一简介gjson实际上是get+json的缩写,用于读取JSON串二使用1.安装gogetgithub.com/tidwall/gjson2.使用packagemainimport("fmt""github.com/tidwall/gjson")funcmain(){json:=`{"name":{......
  • freepascal TJsonDataset
    unitUnit1;{$modeobjfpc}{$H+}interfaceusesClasses,SysUtils,Forms,Controls,Graphics,Dialogs,DBCtrls,DBGrids,DB,fpjson,fpjsondataset;typeTForm1=class(TForm)DataSource1:TDataSource;DBGrid1:TDBGrid;procedureForm......
  • vue中ts引入组件,无法找到模块xxx的声明文件。xxx隐式拥有 "any" 类型。
    原因说明简单来说就是ts不认识.vue这个类型,需要定义声明。我刚学ts不是很懂为什么vite官方内写了那么多类型声明就是不写.vue。解决方法在项目根目录下找到env.d.ts文件,这个文件定义类型声明,简单地说就是让ts认识各种类型,尤其是文件。那么解决方法显而易见,我们自定义vue的......
  • Python库、包、模块
    一、什么是库、包、模块无论是库、包、模块,其核心都在于封装了一系列的功能。1、库library,这个概念并非Python里的概念,是从C语言过来的。库这个概念其实就是一堆代码一起完成一个或多个任务。非常类似函数,但是是以文件组织在一起。2、模块module,这个概念就是Python里的概念,一个......
  • 菜品分类模块删除接口+今天的图片不回显问题没有解决,明天再说。这篇随便写写吧,呕。+修
    点击删除按钮,删除菜品,也可以在左侧进行批量删除,故制定批量删除接口。删除规则如下 其中被套餐关联的菜品不能删除,因为删除这些菜品直接影响到套餐删除菜品后,关联的口味也要删除,所以这个删除蛮复杂的,并不是那种单表直接删的简单操作  请求参数和返回数据: 涉及到的表有......
  • 数据分析中缺失值可视化(missingno模块)
    missingno模块讲解missingno安装condainstallmissingno或者pipinstallmissingno。missingno常用API讲解importmissingnoasmsno密度图:matrixmsno.matrix(df,labels=True)生成的密度图中的白线代表缺失值,右下角的数字表示不存在缺失值的列,右侧的数字表示数据......
  • 模块介绍,包,json模块
    【一】模块1.什么是模块模块就是一系列功能的结合体,可以直接使用2.为什么要模块极大地提升开发效率3.模块的三种来源【1】内置模块无需下载,解释器自带,直接导入使用即可【2】自定义模块自己写的代码,封装成模块,自己用或者是发布到网上供别人使用【3】第三方模块别人写的......