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

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

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

  • 用户跳出率高的5大原因分析(用户跳出率高的原因)

    用户跳出率高的5大原因分析(用户跳出率高的原因)

  • 中小企业网站运营推广计划分享(中小企业网站运营方案)

    中小企业网站运营推广计划分享(中小企业网站运营方案)

  • 支付宝年度账单2020怎么查(支付宝年度账单2018)(支付宝年度账单百科)

    支付宝年度账单2020怎么查(支付宝年度账单2018)(支付宝年度账单百科)

  • 苹果13从底部上滑怎么设置(苹果13从底部上滑没有控制中心)

    苹果13从底部上滑怎么设置(苹果13从底部上滑没有控制中心)

  • 支付宝零花钱扣的是哪里的钱(支付宝零花钱扣钱怎么回事)

    支付宝零花钱扣的是哪里的钱(支付宝零花钱扣钱怎么回事)

  • 第五人格怎么玩(第五人格怎么玩新手教学)

    第五人格怎么玩(第五人格怎么玩新手教学)

  • 华为的语音助手怎么呼唤(华为的语音助手怎么唤醒)

    华为的语音助手怎么呼唤(华为的语音助手怎么唤醒)

  • 抖音关注不了别人怎么解除限制(抖音关注不了别人怎么解封)

    抖音关注不了别人怎么解除限制(抖音关注不了别人怎么解封)

  • 去微信粘贴怎样操作(粘贴微信中粘贴怎么弄)

    去微信粘贴怎样操作(粘贴微信中粘贴怎么弄)

  • 鼠标dpi什么意思(鼠标dpi越高越好吗)

    鼠标dpi什么意思(鼠标dpi越高越好吗)

  • xr苹果手机不拆机怎么看进水(xr拆机拆不开)

    xr苹果手机不拆机怎么看进水(xr拆机拆不开)

  • vivo手机看视频模糊怎么解决(vivo手机看视频自动旋转)

    vivo手机看视频模糊怎么解决(vivo手机看视频自动旋转)

  • 通过qq号可以查到手机号码吗(通过qq号可以查到什么社交软件)

    通过qq号可以查到手机号码吗(通过qq号可以查到什么社交软件)

  • 台式机可用蓝牙耳机吗(台式机可用蓝牙鼠标吗)

    台式机可用蓝牙耳机吗(台式机可用蓝牙鼠标吗)

  • 荣耀手环3和小米手环3对比(荣耀手环3和4参数对比)

    荣耀手环3和小米手环3对比(荣耀手环3和4参数对比)

  • a1709是ipad什么型号(ipada1709是几代)

    a1709是ipad什么型号(ipada1709是几代)

  • oppor15内屏碎了(oppor15x手机内屏坏了多少钱)

    oppor15内屏碎了(oppor15x手机内屏坏了多少钱)

  • 京东买东西没有客服吗(京东买东西没有取件码怎么办)

    京东买东西没有客服吗(京东买东西没有取件码怎么办)

  • 手机音效怎么调(手机音效怎么调成柏林之声)

    手机音效怎么调(手机音效怎么调成柏林之声)

  • a1432是迷你几(ipadmini型号a1432是第几代)

    a1432是迷你几(ipadmini型号a1432是第几代)

  • 5ge是什么(5个是什么,什么是1)

    5ge是什么(5个是什么,什么是1)

  • iphonex来电铃声突然变小(iphonex来电铃声突然变小怎么设置)

    iphonex来电铃声突然变小(iphonex来电铃声突然变小怎么设置)

  • 手机提醒有病毒还震动(手机提醒有病毒安装,清理之后就没有了)

    手机提醒有病毒还震动(手机提醒有病毒安装,清理之后就没有了)

  • 摊薄净资产收益率是什么意思
  • 企业当期应纳增值税
  • 增值税普通发票税率
  • 临时工工资怎么申报个人所得税
  • 工程款增值税专用发票如何开具
  • 三证合一是哪三证孩子上学
  • 收入费用率为100.13%说明什么
  • 城市维护建设税优惠政策
  • 金税盘全额抵扣分录
  • 投入的流动资金函怎么写
  • 非货币性资产交换准则
  • 公司投资的股权财产怎么认定
  • 取得抵债资产的相关税费计入
  • 调表不调账最后会有什么问题
  • 购买的员工福利需要缴纳印花税
  • 自己开发app能享受医保吗
  • 城建税税收减免政策
  • 政府规费可以做进项抵扣吗?
  • 小规模纳税人残疾人纳税优惠
  • 清包工开票详细名称
  • 支票收款
  • 资本公积转增资本个人股东是否纳税
  • 地下车库是否需要设置消防电梯?
  • 申报工会经费怎么做账
  • 账上少了25元怎么做账
  • 银行扣的短信费银行给开发票吗
  • 委托贷款是流动资金贷款吗
  • 农村合作社收到财政拨款怎么做分录
  • 聘请专家费用管理办法
  • 自来水公司的水压力是多少
  • 金税盘技术维护费可以抵扣吗
  • win11右键菜单怎么恢复
  • 隐藏资源管理器窗口
  • 税控设备抵减增值税会计处理
  • 诺曼底作战
  • windows7使用方法
  • PHP:finfo_set_flags()的用法_fileinfo函数
  • vite config
  • 暂估入库含税还是含税
  • 代订机票发票可以入账吗
  • 公司股东年底分红怎么做账
  • 数据库设计框架
  • thinkphp框架怎么用
  • 没进项发票怎么办
  • 用于职工福利的进项税账务处理
  • 应纳税所得额中国债利息收入
  • linux服务器环境搭建
  • 债权债务转让会计分录
  • 资产处置损益是当期损益吗
  • 净利润和毛利润谁大
  • 未分配利润可以弥补亏损吗
  • 外购豆油给送客户好吗
  • 预缴增值税附加税需要计提吗
  • 收政府的慰问金合法吗
  • 一般纳税人其他咨询服务税率
  • 会计已入账是什么意思
  • 企业代扣税费会计分录
  • 企业买车计入什么科目
  • 本年利润的会计科目代码
  • 年底不发工资 员工离职
  • 企业内账怎么做
  • 增强型图形文件
  • 应用商店windows
  • mac系统怎么查看
  • centos7修改远程登录端口
  • window10 屏幕
  • linux 禁用root
  • rtvscn95.exe - rtvscn95是什么进程 有什么用
  • win7系统怎么设置不休眠
  • windows7的注册表在哪里
  • win8使用教程和技能
  • win8.1备份系统还原
  • 批处理文件就是将若干文件集中起来
  • easyui footer
  • 用python抓取网页数据的代码
  • js中变量有哪几种?分别在哪里定义?
  • 税务上如何界定收入
  • 办公室租金可以开专票抵扣进项税吗
  • 残疾人个人所得税减免政策2023
  • 金税盘里的发票清单怎么导出
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设