这里写目录标题

  • 一、写在前面:
  • 二、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文件相关推荐

  1. 24位ADC数据转换,保存为hex文件,并利用python解析hex文件画图

     目前有许多ADC芯片都是24位精度的,这个位数稍显尴尬,因为在常用的变量类型中,有8bit.16bit.32bit,唯独没有24bit,这就导致我们在很多情况下,需要自己敲代码去处理这个24bit的 ...

  2. python 解析pb文件_利用Python解析json文件

    写在前面 在金融风控领域,我们经常会使用到json格式的数据,例如运营商数据.第三方数据等.而这些数据往往不能直接作为结构化数据进行分析和建模.本文将介绍一种简单的.可复用性高的基于pandas的方法 ...

  3. Python解析json文件

    Python解析json文件 实现代码 import json import sysstdout = sys.stdoutwith open("company.json", &qu ...

  4. python读取json数据教程_Python教程之解析json数据

    这里先说一下什么是json,其实json是一种跨语言通用的数据格式,它的本质是一个字符串,然而几乎所有的计算机语言都可以将这种json格式的数据转为自己能使用的数据类型,例如在PHP中json字符串可 ...

  5. python解析json数据的三种方式

    目录 1.运用re.json.jsonpath包解析json思路 2.三种方式的json解析案例 (1)运用re正则表达式解析json (2)运用字典的数据结构性质解析json (3)运用jsonpa ...

  6. python解析xml文件最好选用的模块_用Python解析XML文件

    本文翻译自:https://developer.yahoo.com/python/python-xml.html 使用Python解析XML文件 许多YDN APIs提供了JSON格式的数据输出,JS ...

  7. python中读取文件内容-深入学习python解析并读取PDF文件内容的方法

    这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...

  8. 【Android 逆向】使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 完整代码示例 ) ★★★

    文章目录 一.完整代码示例 二.执行结果 三.博客资源 一.完整代码示例 使用 Python 解析 ELF 文件完整代码示例 : # coding=utf-8 # 解析 elf 文件需要导入的依赖库 ...

  9. 【Android 逆向】使用 Python 解析 ELF 文件 ( Capstone 反汇编框架 | PyCharm 中导入 Capstone 反汇编框架 )

    文章目录 一.Capstone 反汇编框架 二.PyCharm 中导入 Capstone 反汇编框架 一.Capstone 反汇编框架 Android 的 APK 安装文件中 , 可能存在若干 so ...

  10. [系统安全] 四十一.APT系列(6)Python解析PE文件并获取时间戳判断来源区域

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

最新文章

  1. Kotlin let、with、run、apply、also函数的使用
  2. 超越ReLU却鲜为人知,3年后被挖掘:BERT、GPT-2等都在用的激活函数
  3. linux 内核编译详解
  4. Excel中配置VBA的工作环境
  5. 前端学习(2236):react的列表渲染二
  6. STL中map的使用要点
  7. html5语义化标签 加粗,html5标签 H5标签
  8. JDK线程池CompletionService的使用
  9. 【ES9(2018)】RegExp扩展
  10. vrrp协议原理与应用
  11. 如何在Python中将元素添加到列表
  12. 大数据只做三件事,对用户的理解、对信息的理解、对关系的理解
  13. 3D纹理贴图制软件The Foundry Mari for Mac
  14. 8g内存和16g内存区别 mac_8G和16GB内存,体验差异大吗?实测新版M1处理器苹果MacBook...
  15. R语言smoothHR包_“统计学诺贝尔奖”授予R语言软件工程师
  16. office Word中手动添加MathType插件
  17. Spring Cloud Alibaba Nacos Config - - - >多配置文件/共享配置
  18. 拿到蚂蚁金服 offer, 我不去了
  19. 一文读懂矩估计、极大似然估计和贝叶斯估计
  20. Intel千兆网卡驱动Linux系统下安装方法

热门文章

  1. [渝粤教育] 中山大学 健康评估 参考 资料
  2. 因子分析累计贡献率_数据分析之因子分析
  3. python caffe框架_Windows下的caffe框架的配置
  4. 常用的锂电池充电IC芯片
  5. PHREEQC建模及典型案例解析与高阶拓展应用【反向“编译”、“玩转”后处理技术、GibbsStudio和PhreePlo方法】
  6. LS-DYNA 学习总结与感悟 以EM模块为主
  7. pr抖音转场 300个做视频用的剪辑素材pr转场包含音效
  8. 《缠中说禅108课》61:区间套定位标准图解(分析示范六)
  9. SpringBoot-缓存Ehcache的使用
  10. WMI遍历注册表(VBS编程)