JSON是一种常用的数据格式,它在Python中的操作也非常方便。Python中通过json
模块来对JSON数据进行解析与生成。其中,json.load()
和json.loads()
都是用来读取JSON数据的方法,那么它们有何区别呢?
json.load()
json.load()
方法是读取文件并解析JSON数据的方法。它的语法如下:
import json
with open('example.json', 'r') as f:
data = json.load(f)
解析JSON数据后,将返回一个Python对象,可以直接使用。
json.loads()
json.loads()
方法是将字符串解析成JSON数据的方法。它的语法如下:
import json
json_data = '{"name": "Tom", "age": 20}'
data = json.loads(json_data)
将字符串解析成JSON数据后,也会返回一个Python对象,可以直接使用。
可以看到,两种方法都能将JSON数据解析成Python对象。但是它们的参数不同,一个是文件对象,一个是字符串,因此适用场景不同。
下面通过两个示例说明:
示例一
我们有一个名为example.json
的文件,里面存储着一个JSON对象的数据。下面是数据格式:
{
"name": "Tom",
"age": 20,
"address": {
"country": "China",
"city": "Hangzhou"
},
"scores": [80, 90, 95]
}
如果我们使用json.load()
方法来读取该文件,可以使用以下代码实现:
import json
with open('example.json', 'r') as f:
data = json.load(f)
print(data['name'], data['age'], data['address']['country'], data['address']['city'], data['scores'])
可以看到,我们读取到了文件中的JSON数据,并使用了Python对象中的key来获取对应的值。
示例二
我们有一个名为json_data
的字符串,里面存储着一个JSON对象的数据。下面是数据格式:
{
"name": "Tom",
"age": 20,
"address": {
"country": "China",
"city": "Hangzhou"
},
"scores": [80, 90, 95]
}
如果我们使用json.loads()
方法来解析该字符串,可以使用以下代码实现:
import json
json_data = '{"name": "Tom", "age": 20, "address": {"country": "China", "city": "Hangzhou"}, "scores": [80, 90, 95]}'
data = json.loads(json_data)
print(data['name'], data['age'], data['address']['country'], data['address']['city'], data['scores'])
可以看到,我们解析了一个JSON格式的字符串,并使用了Python对象中的key来获取对应的值。
综上所述,json.load()
和json.loads()
方法都可以对JSON数据进行解析,区别在于前者用来读取文件,后者用来解析字符串。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中json.load()与json.loads()方法有什么区别详解 - Python技术站