位置: IT常识 - 正文

【python模块】python解析json文件详解(python模块怎么写)

编辑:rootadmin
【python模块】python解析json文件详解 一、什么是json文件

推荐整理分享【python模块】python解析json文件详解(python模块怎么写),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python 模块,python 模块,python模块怎么用,python模块总结,python模块详解,py 模块,python pty模块,python官方模块大全,内容如对您有帮助,希望把文章链接给更多的朋友!

JSON(Java Script Object Notation)是一种通常用于以不会“对系统造成负担”的方式传输数据(主要通过 API)的格式。基本原理是利用文本来记录数据点,并将数据点传输给第三方。

JSON是一种使用文本存储数据对象的格式。换句话说,它是一种数据结构,将对象用文本形式表示出来。尽管它来源自JavaScript,但它已成为传输对象的实际标准。 大多数流行的编程语言都支持JSON格式,包括Python。JSON格式的文件经常用于API传输数据对象。以下是JSON字符串的示例:

{ "name": "United States", "population": 331002651, "capital": "Washington D.C.", "languages": [ "English", "Spanish" ]}

在这个例子中,JSON数据看起来像一个Python字典。像字典一样,JSON以键值对的形式传递数据。然而,JSON数据也可以是字符串、数字、布尔值或列表。

在JSON流行之前,XML一直是以文本格式表示数据对象的常见选择。以下是XML格式的相同信息的示例:

<?xml version="1.0" encoding="UTF-8"?><country> <name>United States</name> <population>331002651</population> <capital>Washington D.C.</capital> <languages> <language>English</language> <language>Spanish</language> </languages></country>【python模块】python解析json文件详解(python模块怎么写)

很明显,JSON代码量更少。这是JSON如此流行的主要原因之一。

JSON建构于两种结构: json是Javascript中的对象和数组中的对象,本质上来讲就是有特定结构的字符串,所以可以通过这两种结构可以表示各种复杂的结构:

1 对象: 对象在js中表示为”{}”括起来的内容,数据结构为{key:value, key:value…}的键值对结构,在面向对象的语言中,key为对象的属性,value为对应属性的值,所以很容易去理解。属性值value可以为:数字、字符串、数组、对象等。2 数组:数组在js中是中括号“[]”括起来的内容,数据结构为[“java”, “javascript”, “vb”….] 取值方式和所有语言一样,使用索引获取,字段值的类型是:数字、字符串、数组、对象等

简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。这个字符串看起来有点儿古怪,但是 JavaScript 很容易解释它,而且 JSON 可以表示比”名称 / 值对”更复杂的结构。例如,可以表示数组和复杂的对象,而不仅仅是键和值的简单列表。

如果你还不了解 JSON,可以先阅读 JSON 教程。

二、常用接口

Python3 中可以使用 json 模块来对 JSON 数据进行编解码,主要包含了下面4个操作函数: 提示:所谓类文件对象指那些具有read()或者 write()方法的对象,例如,f = open(‘a.txt’,‘r’),其中的f有read()方法,所以f就是类文件对象。

Python的JSON模块有四个主要功能:read(),reads(),load(),和loads()。这些功能常常会让人混淆。最重要的地方是字母“s”代表String。另外,在函数loads()和dumps()中的字母“s”需要分开读,即loads读load-s,dumps()读dump-s。

这是一个快速表格,可帮助您记住这些功能:

一般loads用于读取JSON字符串,而load()用于读取文件中的JSON数据。 load()方法接收一个文件对象并返回解析为Python对象的JSON数据。用于编写JSON文件的方法是dump().这种方法与dumps()方法非常相似。唯一的区别是dumps()返回一个字符串,dump()写入一个文件。类型转化

在json的编解码过程中,python 的原始类型与JSON类型会相互转换,具体的转化对照如下:

Python 编码为 JSON 类型转换对应表: JSON 解码为 Python 类型转换对应表: 三、代码示例

详细内容可阅读 blog

import jsondata = { 'name': 'pengjunlee', 'age': 32, 'vip': True, 'address': {'province': 'GuangDong', 'city': 'ShenZhen'}}# 1. 将 Python字典类型 转换为 JSON对象json_str = json.dumps(data)print(json_str) # 结果 {"name": "pengjunlee", "age": 32, "vip": true, "address": {"province": "GuangDong", "city": "ShenZhen"}}# 2. 将 JSON对象类型 转换为 Python字典user_dic = json.loads(json_str)print(user_dic['address']) # 结果 {'province': 'GuangDong', 'city': 'ShenZhen'}print(user_dic.keys())# 3. 将 Python字典 直接输出到 文件with open('pengjunlee.json', 'w', encoding='utf-8') as f: json.dump(user_dic, f, ensure_ascii=False, indent=4) # 缩进4个空格# 4. 将 类文件对象中的JSON字符串 直接转换成 Python字典with open('pengjunlee.json', 'r', encoding='utf-8') as f: ret_dic = json.load(f) print(type(ret_dic)) # 结果 <class 'dict'> print(ret_dic['name']) # 结果 pengjunlee使用eval()能够实现简单的字符串和Python类型的转化。user1 = eval('{"name":"pengjunlee"}')print(user1['name']) # 结果 pengjunlee
本文链接地址:https://www.jiuchutong.com/zhishi/293739.html 转载请保留说明!

上一篇:一文教会你何为重绘、回流?

下一篇:若依框架添加新模块(若依框架使用教程)

  • 联想lj2605d硒鼓清零(联想lj2605d硒鼓灯亮黄灯)

    联想lj2605d硒鼓清零(联想lj2605d硒鼓灯亮黄灯)

  • 信息免打扰模式,对方能看到信息吗(信息免打扰模式怎么设置)

    信息免打扰模式,对方能看到信息吗(信息免打扰模式怎么设置)

  • qq转发的聊天记录加载失败(qq转发的聊天记录怎么查)

    qq转发的聊天记录加载失败(qq转发的聊天记录怎么查)

  • 人像模式如何虚化背景(人像模式如何虚化背景图)

    人像模式如何虚化背景(人像模式如何虚化背景图)

  • 为什么腾讯游戏人脸识别要搞很多次(为什么腾讯游戏这么火)

    为什么腾讯游戏人脸识别要搞很多次(为什么腾讯游戏这么火)

  • 输入计算公式时必须首先输入什么(在excel单元格内输入计算公式时)

    输入计算公式时必须首先输入什么(在excel单元格内输入计算公式时)

  • 计算机网络的发展雏形是什么(计算机网络的发展经历了哪四个阶段)

    计算机网络的发展雏形是什么(计算机网络的发展经历了哪四个阶段)

  • 苹果手机玩一会就特别烫是为什么(苹果手机玩一会就发烫是电池的问题吗)

    苹果手机玩一会就特别烫是为什么(苹果手机玩一会就发烫是电池的问题吗)

  • iphone11手写输入法在哪里设置(iphone11手写输入法怎么设置)

    iphone11手写输入法在哪里设置(iphone11手写输入法怎么设置)

  • 腾讯视频只有声音没有画面怎么回事(腾讯视频只有声音没画面)

    腾讯视频只有声音没有画面怎么回事(腾讯视频只有声音没画面)

  • 为什么手机显示耳机模式,听不见语音(为什么手机显示无法访问移动网络)

    为什么手机显示耳机模式,听不见语音(为什么手机显示无法访问移动网络)

  • 打印机删除后怎么恢复(打印机删除后怎么重新添加)

    打印机删除后怎么恢复(打印机删除后怎么重新添加)

  • 苹果手机怎么关掉勿扰模式(苹果手机怎么关机和开机)

    苹果手机怎么关掉勿扰模式(苹果手机怎么关机和开机)

  • 手机位置定位怎么设置(手机位置定位怎么打不开)

    手机位置定位怎么设置(手机位置定位怎么打不开)

  • 手机qq好友亲密度怎么看(手机qq好友亲密度怎么提升)

    手机qq好友亲密度怎么看(手机qq好友亲密度怎么提升)

  • 小米8无线网速度慢怎么办(小米无线网速慢)

    小米8无线网速度慢怎么办(小米无线网速慢)

  • ps如何去除脸上的斑点(ps如何去除脸上的油光)

    ps如何去除脸上的斑点(ps如何去除脸上的油光)

  • vivo手机在日本能用吗(vivo手机在日本能够使用日本的电话卡吗)

    vivo手机在日本能用吗(vivo手机在日本能够使用日本的电话卡吗)

  • vivox9spus格式化在哪里(vivox9手机格式化)

    vivox9spus格式化在哪里(vivox9手机格式化)

  • 探探左划是什么意思(探探左边滑是什么意思)

    探探左划是什么意思(探探左边滑是什么意思)

  • face tune2怎么取消购买(facetune2里面的照片怎么删除)

    face tune2怎么取消购买(facetune2里面的照片怎么删除)

  • vivos1左边的按键是什么(vivos1pro左边的按键)

    vivos1左边的按键是什么(vivos1pro左边的按键)

  • 无线网电视没信号怎么办(无线网电视没信号是什么原因)

    无线网电视没信号怎么办(无线网电视没信号是什么原因)

  • 最早的手机是什么(最早的手机是哪一年)

    最早的手机是什么(最早的手机是哪一年)

  • 报废汽车残值收入
  • 个体工商户怎么补交个人所得税
  • 出口退税哪些资料要留底
  • 专票抵扣进项税可以省钱吗
  • 电子汇票提示付款撤销
  • 利息调整的计算公式
  • 一次性开票分期确认收入的税务文件是什么
  • 发票已开后 对方公司名称变更怎么处理
  • 新准则下怎么调整长期股权投资损益调整
  • 外购已税什么意思
  • 公司属于亏损状态,但是法人个人收入算公司账吗
  • 商品房预售期一般多久
  • 企业变更地址需要哪些资料
  • 社会团体政策
  • 家电以旧换新怎么做账务处理
  • 公司购入房产账务处理
  • 出租车发票有出租车信息吗
  • 经营成本计算公式财务管理
  • 银行承兑汇票开票流程图
  • 代运营公司流程
  • 其他应收款代扣代缴个人所得税
  • 小规模纳税人进项税额怎么算
  • 小规模纳税人销售自己使用过的物品
  • 单位缴纳工会经费的会计分录怎么做
  • 公司和个人分别交什么税
  • php str函数
  • uniapp 嵌套webview
  • 新产品研发费的会计分录
  • 视频监控智能化应用
  • 前端没思路怎么办
  • CUDA(10.2)+PyTorch安装加配置 详细完整教程
  • 权益法下长期股权投资超额亏损
  • 圣米歇尔山法语介
  • python基础100例
  • 滨州高新技术企业名单
  • es6面试题promise
  • 自制原始凭证代码怎么填
  • 安装充电桩电费怎么收
  • 产品补发原来的要退吗
  • 财务报表季报应付职工薪酬是指三个月工资累计还是
  • 物权转移手续是什么
  • 家具入账固定资产怎么算
  • 哪些是生产企业
  • 外币汇兑损益怎么计算
  • 排污收费制度在排污费征收方面存在的问题
  • 银行 收美金
  • 税务局多扣的税可以退吗
  • 税金及附加核算哪些税费
  • 委托加工物资核算
  • 发工资用个人账户还是公司帐户
  • 宾馆手撕发票图片
  • 贷款的拨备覆盖率
  • 投资收益 增加
  • sql server触发器的编写与使用
  • drop table select
  • 详述社会体育学科的研究对象
  • mac备忘录怎么使用
  • Apple Watch怎么解绑ID
  • 还原windows是什么意思
  • vista starter
  • win10事件查看器好多错误
  • w8系统ie浏览器在哪
  • win10 edge浏览器
  • linux常用命令chmod的使用
  • opengl 绘制
  • 根据安全生产法的规定,生产经营单位
  • node javascript
  • div遮罩层整个页面
  • 使用js如何创建元素
  • 查cpu内存命令
  • javascript 语言精粹(修订版)
  • jqueryui easyui
  • 轻松实现财富自由
  • jquery实现ajax加载超时提示的方法
  • jquery fullpage
  • 邮政银行开税票要什么材料
  • 税务登录 河北省地方税务局
  • 锂电池缴纳消费增值税吗
  • 精神残疾人员是残疾人吗
  • 宁波购房契税退税条件
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设