python读取json文件_Python程序读取JSON文件教程

欢迎,来自IP地址为:27.22.77.57 的朋友

JSON格式已经变得非常普遍,常常用于Android设备、Web服务以及REST API接口等。本教程将着重介绍JSON格式以及Python程序如何处理JSON文件。

什么是JSON

JSON是JavaScript Object Notation的缩写,表示JS对象符号,是一种数据表示格式

这种格式经常被用于服务器和客户端间传递数据

这种格式还常常用于应用程序间传递数据

JSON格式在Web应用开发中非常重要,是事实上REST API的数据格式标准

它是基于Java脚本的一个子集

它便读取和写入

为什么要使用JSON

最初网站的开发都使用HTML语言,HTML就像是事实上的设计模式,人们创建的网页都是静态的,即在设计完成后内部就相对固定,不会产生变化。但现在,一切都改变了,网站变得支持动态页面了。动态页面意味着从服务器获得的数据将是动态的,或者根据用户请求的不同,会得到不同的响应。

当客户端向服务器发送请求后,服务器会将响应数据反馈给客户端,这个响应数据当然可以是纯文本,但是纯文本内容对于客户端程序来说是非常难于理解的

举例来说:

假设数据库中有10个雇员信息,如果以纯文本格式响应请示,那么响应数据大概是以下的样子:

employee name is John Doe, employee address is Chicago

那么问题来了,假设所有雇员的响应信息都以这种格式返回,人当然可以通过阅读理解到其中的内容,但是这对于编程来说就非常难于实现

因此,我们需要一个定义良好的结构,以便我们可以轻松地读取程序中的数据,而JSON正是被广泛使用的结构。

如果你正在构建一个应用程序,其前端通过API与服务器交互通信。那么,JSON是通过HTTP请求发送和接收数据的标准格式。

JSON语法规则

使用键值对——{“name”:”sam”}

键名使用双引号括起

必须使用特定的数据格式

文件扩展名为”.json”

MIME 类型为”Application/json”

JSON文件示例

以下是一个标准的JSON格式文件示例:

{

"name":"Sam"

"age":20

"address":{

"street":"Main street"

"city":"Ranchi"

}

"salary":5000

}

Python读取JSON文件

现在,我们将要了解Python如何读取JSON文件,其实这并不复杂,我们也将涉及一些细节。

创建JSON文件

首先,我们需要创建一个JSON文件以用于示例,仍然采用之前雇员信息的例子,我们创建一个”employee.json”文件,内容如下:

{

"employees": [

{

"name": "Sam",

"Dept": "HR",

"salary": 5000

},

{

"name": "Mayra",

"Dept": "Sales",

"salary": 6000

},

{

"name": "Hisham",

"Dept": "HR",

"salary": 9000

},

{

"name": "Arsh",

"Dept": "Production",

"salary": 10000

}

]

}

通过这个文件,我们存储了雇员的名字、部门和薪酬信息。首先,我们创建一个JSON对象,这个对象包含一个键”employees”,这个键对的值是一个包含若干JSON对象的数组,数组中的每个元素就是一个JSON对象,包含了不同雇员的具体信息。注意,每个JSON对象用大括号({ })包围,而对象数组使用中括号([ ])包围。在数组中可以添加任意多的JSON对象。

创建Python脚本

在IDE中创建一个Python脚本文件,并将之前创建的JSON文件保存在同一目录中。

读取JSON文件

我们想要读取JSON文件内容,就要先将文件内容加载到Python对象中,这需要调用”json.load()”方法,脚本如下:

import json

#open the file

with open('employee.json') as f:

data = json.load(f)

#reading file

for emp in data['employees']:

print(emp)

我们都做了些什么

首先我们导入了json模块

然后我们使用with语言将json文件打开,注意由于json文件同Python脚本位于同一目录,并没有在程序中指定文件位置,实际使用时需要指定文件位置以免出错

调用json.load(f)方法将文件内容加载到Python对象中

通过循环迭代,依次访问对象中的元素

最后打印出每个对象的内容

如果我们执行上面的脚本,会得到以下的输出结果:

xPython-json-load-totural.jpg.pagespeed.ic.3TNl0Qh1_w.webp

可以看到,Python脚本可以方便的处理JSON对象,并且可以区分具有相同属性的不同数据。

访问JSON文件的某些属性

如果只想获取JSON对象的某些属性,Python处理上也非常简单,例如想了解雇员的姓名和薪酬情况,只需要对上面的代码做如下修改:

for emp in data['employees']:

print(emp["name"],emp["salary"])

从上面的代码可以看出,json.load()函数可以将JSON对象转换为Python的字典对象,之后Python就可以操作这个字典对象了,是不是很方便呢。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值