json文件简介及借助于python解析json文件
这里写目录标题
- 一、写在前面:
- 二、Json文件简介与python解析
- 三、小总结
Author:qyan.li
Date:2022.6.13
Topic:浅析
Json
文件使用以及借助于Python
语言操作Json
文件
一、写在前面:
~~~~~~~~ 前段时间随手翻python编程与实践,发现其中有一章节讲述Json文件的解析与地图的构建。Json文件自己听说过很多次,也偶有接触,但是始终不太清楚Json文件到底是什么,有什么用,以及怎么使用。所以简单的学习和整理一下有关Json文件的内容,顺便写篇博文记录一下。
二、Json文件简介与python解析
~~~~~~~~ Json文件的详细官方定义,自己也没有深刻的了解,按照个人的理解,Json文件是能够保留原始数据类型的文件
(个人理解)。举个简单的栗子可能会更加的清晰,明确,比如,利用python语言将一个程序生成的列表list = [1,2,3,4,5,6,7,8,9]存入txt文件,当你读取该txt文件时,读取出的数据内容,形式可能是一样的,但是利用type检验数据类型,发现读取出来是字符串,这就意味着此时针对于此对象,已经不能使用list的相关方法进行操作,丧失原来的特性,而只能字符串的方法进行操作。但是在某种程度上,json文件可以弥补这一点:向json文件中写入字典,list取出时可以保留原始的数据类型,方便后续在程序中进行操作。
~~~~~~~~ 在这里可能会涉及序列化和反序列化的概念:序列化是指将对象转化为字节序列,反序列化则是指将字节序列恢复重建为对象。序列化和反序列化的目的在于对象状态的保存和重建。序列化和反序列化使得在传递和保存对象时,可以保证对象的完整性和可传递性。将对象转化为有序字节流,以便在网络上传输或者保存在本地文件中。
~~~~~~~~ 借助于python语言操作json文件,主要是借助于json模块,可以完成json文件的写入和读取,下面会结合具体的代码,简要的说明一下python中json模块的使用:
将python对象写入json文件中
~~~~~~~~ 将python对象写入json文件中,主要借助于json模块的dumps和dump函数,dumps()将python对象转换为json对象,dump()将python对象以json对象的形式写入json文件中
def writeIntoJsonFile():## 创建python对象TestDict = {'name':'liqiyan','age':10,'address':'chengdu','friends':['dale','blender','mark']}TestLst = ['a','b','c','d']IntoData = [TestDict,TestLst]## 将python对象转化为json对象JsonData1 = json.dumps(TestDict)JsonData2 = json.dumps(TestLst)# print(type(JsonData2)) # json对象的格式为字符串str## 将python对象写入json文件with open('./Test.json','w') as f:# json.dump(JsonData,f)json.dump(IntoData,f)
将python对象写入json文件注意点Tips:
dump(data,file)函数注意第一个参数为python对象,而并非dumps后的对象,及传入上述代码中的应该为TestDict,TestLst,IntoData类型的python对象,而非JsonData1,JsonData2类型的json对象,如果传入json对象,json文件中的内容会多出许多斜杠
读取json文件为python对象
~~~~~~~~ 将json文件中的内容读取出来,主要借助于json模块的load和loads函数,load函数将json文件内容读取出来形成python对象,而loads函数则将json类型的字符串转换为python的对象
def ReadJsonFile(FilePath):## load函数读取json文件with open(FilePath,'r') as f:object = json.load(f)print(object) # type->dict## loads函数还原python对象TestDict = {'name':'qyan.li','age':10}JsonDict = json.dumps(TestDict) # type->strPythonDict = json.loads(JsonDict) # type->dict
~~~~~~~~ 上述代码展示借助于load函数读取json文件的一般方法,读取出来的直接为转化后的python对象,当json文件中不只有一个数据时,读取出来是以列表的i形式存放的。loads函数作用在于将json对象(与dumps相对应)转化为python对象。
三、小总结
~~~~~~~~ Json文件在某种情况为我们提供方便,尤其在涉及程序生成的变量的文件保存,以后就不必一定使用txt文件,在某些情况下,Json文件可能会是一种更好的选择。
json文件简介及借助于python解析json文件相关推荐
- 24位ADC数据转换,保存为hex文件,并利用python解析hex文件画图
目前有许多ADC芯片都是24位精度的,这个位数稍显尴尬,因为在常用的变量类型中,有8bit.16bit.32bit,唯独没有24bit,这就导致我们在很多情况下,需要自己敲代码去处理这个24bit的 ...
- python 解析pb文件_利用Python解析json文件
写在前面 在金融风控领域,我们经常会使用到json格式的数据,例如运营商数据.第三方数据等.而这些数据往往不能直接作为结构化数据进行分析和建模.本文将介绍一种简单的.可复用性高的基于pandas的方法 ...
- Python解析json文件
Python解析json文件 实现代码 import json import sysstdout = sys.stdoutwith open("company.json", &qu ...
- python读取json数据教程_Python教程之解析json数据
这里先说一下什么是json,其实json是一种跨语言通用的数据格式,它的本质是一个字符串,然而几乎所有的计算机语言都可以将这种json格式的数据转为自己能使用的数据类型,例如在PHP中json字符串可 ...
- python解析json数据的三种方式
目录 1.运用re.json.jsonpath包解析json思路 2.三种方式的json解析案例 (1)运用re正则表达式解析json (2)运用字典的数据结构性质解析json (3)运用jsonpa ...
- python解析xml文件最好选用的模块_用Python解析XML文件
本文翻译自:https://developer.yahoo.com/python/python-xml.html 使用Python解析XML文件 许多YDN APIs提供了JSON格式的数据输出,JS ...
- python中读取文件内容-深入学习python解析并读取PDF文件内容的方法
这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...
- 【Android 逆向】使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 完整代码示例 ) ★★★
文章目录 一.完整代码示例 二.执行结果 三.博客资源 一.完整代码示例 使用 Python 解析 ELF 文件完整代码示例 : # coding=utf-8 # 解析 elf 文件需要导入的依赖库 ...
- 【Android 逆向】使用 Python 解析 ELF 文件 ( Capstone 反汇编框架 | PyCharm 中导入 Capstone 反汇编框架 )
文章目录 一.Capstone 反汇编框架 二.PyCharm 中导入 Capstone 反汇编框架 一.Capstone 反汇编框架 Android 的 APK 安装文件中 , 可能存在若干 so ...
- [系统安全] 四十一.APT系列(6)Python解析PE文件并获取时间戳判断来源区域
您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...
最新文章
- Kotlin let、with、run、apply、also函数的使用
- 超越ReLU却鲜为人知,3年后被挖掘:BERT、GPT-2等都在用的激活函数
- linux 内核编译详解
- Excel中配置VBA的工作环境
- 前端学习(2236):react的列表渲染二
- STL中map的使用要点
- html5语义化标签 加粗,html5标签 H5标签
- JDK线程池CompletionService的使用
- 【ES9(2018)】RegExp扩展
- vrrp协议原理与应用
- 如何在Python中将元素添加到列表
- 大数据只做三件事,对用户的理解、对信息的理解、对关系的理解
- 3D纹理贴图制软件The Foundry Mari for Mac
- 8g内存和16g内存区别 mac_8G和16GB内存,体验差异大吗?实测新版M1处理器苹果MacBook...
- R语言smoothHR包_“统计学诺贝尔奖”授予R语言软件工程师
- office Word中手动添加MathType插件
- Spring Cloud Alibaba Nacos Config - - - >多配置文件/共享配置
- 拿到蚂蚁金服 offer, 我不去了
- 一文读懂矩估计、极大似然估计和贝叶斯估计
- Intel千兆网卡驱动Linux系统下安装方法
热门文章
- [渝粤教育] 中山大学 健康评估 参考 资料
- 因子分析累计贡献率_数据分析之因子分析
- python caffe框架_Windows下的caffe框架的配置
- 常用的锂电池充电IC芯片
- PHREEQC建模及典型案例解析与高阶拓展应用【反向“编译”、“玩转”后处理技术、GibbsStudio和PhreePlo方法】
- LS-DYNA 学习总结与感悟 以EM模块为主
- pr抖音转场 300个做视频用的剪辑素材pr转场包含音效
- 《缠中说禅108课》61:区间套定位标准图解(分析示范六)
- SpringBoot-缓存Ehcache的使用
- WMI遍历注册表(VBS编程)