位置: 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 转载请保留说明!

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

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

  • 华为nova4是几瓦快充(nova4用多少瓦充电器)

    华为nova4是几瓦快充(nova4用多少瓦充电器)

  • 我的华为手机怎么没有更多设置(我的华为手机怎么没有录屏功能)

    我的华为手机怎么没有更多设置(我的华为手机怎么没有录屏功能)

  • dell笔记本无法开机(dell笔记本无法开机黑屏电源灯不亮)

    dell笔记本无法开机(dell笔记本无法开机黑屏电源灯不亮)

  • 筛选求和的函数(筛选求和的函数公式)

    筛选求和的函数(筛选求和的函数公式)

  • 腾讯视频怎么下载到手机(腾讯视频怎么下载到手机相册)

    腾讯视频怎么下载到手机(腾讯视频怎么下载到手机相册)

  • 酷狗为什么不能单曲购买(酷狗为什么不能下载mp3)

    酷狗为什么不能单曲购买(酷狗为什么不能下载mp3)

  • 手机一边充电一边看视频有没有影响(手机一边充电一边使用好不好)

    手机一边充电一边看视频有没有影响(手机一边充电一边使用好不好)

  • 拼多多为什么没有购物车功能(拼多多为什么没有取件码)

    拼多多为什么没有购物车功能(拼多多为什么没有取件码)

  • 手机号没交费变空号怎么办(手机号没交费变空号会影响以后贷款吗)

    手机号没交费变空号怎么办(手机号没交费变空号会影响以后贷款吗)

  • 为什么手机打电话显示无法连接移动网络(为什么手机打电话别人听不到声音)

    为什么手机打电话显示无法连接移动网络(为什么手机打电话别人听不到声音)

  • 华为步数不显示了(华为步数不显示时段)

    华为步数不显示了(华为步数不显示时段)

  • oppor11什么时候出来的(oppor11什么时候上市的销量)

    oppor11什么时候出来的(oppor11什么时候上市的销量)

  • oppo手机怎么卸载桌面的软件(oppo手机怎么卸载小布助手)

    oppo手机怎么卸载桌面的软件(oppo手机怎么卸载小布助手)

  • 全屏手机有哪几款(全屏幕的手机)

    全屏手机有哪几款(全屏幕的手机)

  • 乐视手机如何取消root权限(乐视手机怎么取卡)

    乐视手机如何取消root权限(乐视手机怎么取卡)

  • 华为mate30pro怎么设置来电头像(华为mate30pro怎么开空调)

    华为mate30pro怎么设置来电头像(华为mate30pro怎么开空调)

  • 大麦网怎么买连坐(大麦网买连坐票需要几个人身份证)

    大麦网怎么买连坐(大麦网买连坐票需要几个人身份证)

  • soul定位关了可以开吗(soul定位没了咋办)

    soul定位关了可以开吗(soul定位没了咋办)

  • 拼多多关联店铺代码(拼多多关联店铺资金限制了)

    拼多多关联店铺代码(拼多多关联店铺资金限制了)

  • 抖音可以绑定拼多多吗(抖音绑定拼多多安全吗)

    抖音可以绑定拼多多吗(抖音绑定拼多多安全吗)

  • 笔记本适配器坏了症状(笔记本适配器坏了怎么修)

    笔记本适配器坏了症状(笔记本适配器坏了怎么修)

  • 抖音直播怎么提现(抖音直播怎么提现到微信)

    抖音直播怎么提现(抖音直播怎么提现到微信)

  • ppt基本维恩图在哪儿(word基本维恩图)

    ppt基本维恩图在哪儿(word基本维恩图)

  • 如何避免kindle卡索引(kindle变得特别卡)

    如何避免kindle卡索引(kindle变得特别卡)

  • 探探注销后对方还能看到自己吗(探探注销后对方还能看到聊天记录吗)

    探探注销后对方还能看到自己吗(探探注销后对方还能看到聊天记录吗)

  • 为什么我的朋友圈只能发10秒视频(为什么我的朋友国籍被注销)

    为什么我的朋友圈只能发10秒视频(为什么我的朋友国籍被注销)

  • 如何关闭edge浏览器地址栏自动弹出的历史记录(如何关闭edge浏览器下载保护)

    如何关闭edge浏览器地址栏自动弹出的历史记录(如何关闭edge浏览器下载保护)

  • 房产税城镇土地使用税税率
  • 销售净收入咋算
  • 行政单位要不要税号
  • 公司章程在工商局
  • 劳务报酬个人所得税怎么计算
  • 劳务属于什么工种
  • 销售人员购买的产品
  • 滴滴能出票吗
  • 没有发票的福利有哪些
  • 小规模纳税人不允许开具零税率发票
  • 出纳日常工作内容总结
  • 买一手房需要交哪些税费
  • 高新企业季度企业所得税预征税率
  • 所得税季度预缴纳税申报表中弥补以前年度亏损
  • 工业总产值怎么计算公式
  • 以旧换新会计处理金银首饰
  • 货物运输时发生车祸
  • 工会经费可不可以不交
  • 上报汇总是什么时候
  • 增值税普通发票税率
  • 收到外单位奖励怎么回复
  • 子公司借款给母公司是否受2:1
  • 现金支付给个人
  • 微信转账截图可以p图吗
  • 收到人才引进已受理的短信
  • linux安装方式有
  • 销售费用负担的差异会计分录
  • 差额征税账务处理规定
  • 固定资产不计提折旧有什么影响
  • vue3.0安装
  • 怎么调试vue项目
  • axios是干嘛的
  • 前端按钮跳转界面
  • 知识图谱的构建方法有两种
  • [深度学习] fast-reid入门教程
  • python 元类 详解
  • 支付应付账款的文章怎么写的
  • 社保缴费基数是怎么确定的
  • 用友重新安装步骤
  • 企业没有研发费用怎么做账
  • rabbitmq如何解决消息堆积问题
  • c语言的共用体
  • 如何用织梦搭建网站
  • mac安装brew
  • 长期股权投资初始投资成本的确定
  • 清洁费用属于哪个会计科目
  • 收到汇算清缴退回的税款如何做账
  • 有哪些情况可以用别人的id
  • 以红字冲回
  • 劳务关系需要交税吗
  • 申报抵扣了不做账怎么处理?
  • 工资每月变动社保怎么变
  • 没收租赁保证金要交增值税么
  • 买房定金转给销售有效吗
  • 付款成功的钱怎么返还
  • 意外伤害条件
  • 出口不退税进项要转出吗
  • 税票名称开错了有影响么
  • rpm方式安装
  • mysql查询结果输出
  • win7系统怎么设置开机启动项
  • 深度Win7 64位系统默认输入法图标如何个性化设置
  • mac电脑废纸篓清空文件恢复
  • window8怎么样
  • winxp任务栏消失
  • windows8锁屏
  • w10升级失败怎么办
  • Windows正在启动卡死
  • linux系统服务器怎么进入桌面
  • win7 64位打开软件时显示丢失wpcap.dll的三种解决办法
  • 鼠标滑动页面缩放取消
  • javascript内置对象应用团购
  • javascript如何
  • jquery中如何获取元素?
  • js怎么获取密码框内容
  • 居民与非居民的区别国际金融
  • 辽宁省耕地占用税税率
  • 纳税申报过了申报期未申报怎么办
  • 获得感幸福感还有什么
  • 公司忘记报税了怎么补
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设