python操作json数据(在Python中加载)
python操作json数据(在Python中加载)file_contents现在包含 JSON 的字符串化版本。下一步,现在可以解析 JSON。我在表达式的开头使用了,以便在读取文件的内容后,Python可以关闭文件。with收到数据后,程序读取并解析 JSON 以提取特定数据。不同的语言有自己的方法来做到这一点。我们将在这里看看如何在python中做到这些。假设上面代码块中的 JSON 存储在一个文件中。使用Python中的内置函数,我们可以读取该文件并将内容分配给变量。操作方法如下:user.jsonopen()with open('user.json') as user_file: file_contents = user_file.read() print(file_contents) # { # "name": "John" # "age": 5
什么是 JSON?JSON是JavaScript Object Notation的缩写。这是一种用于在名称-值对中存储数据的简单语法。值可以是不同的数据类型,只要它们是有效的。JSON 的不可接受类型包括函数、日期和 。undefined
json 文件与具有有效 JSON 结构的扩展名一起存储。.json
以下是 JSON 文件的结构:
{
"name": "John"
"age": 50
"is_married": false
"profession": null
"hobbies": ["traveling" "photography"]
}
您通常会使用 JSON 从 Web 应用程序中的服务器发送和接收数据。
收到数据后,程序读取并解析 JSON 以提取特定数据。不同的语言有自己的方法来做到这一点。我们将在这里看看如何在python中做到这些。
如何读取 JSON 文件假设上面代码块中的 JSON 存储在一个文件中。使用Python中的内置函数,我们可以读取该文件并将内容分配给变量。操作方法如下:user.jsonopen()
with open('user.json') as user_file:
file_contents = user_file.read()
print(file_contents)
# {
# "name": "John"
# "age": 50
# "is_married": false
# "profession": null
# "hobbies": ["travelling" "photography"]
# }
将文件路径传递给打开文件并将流数据从文件分配给变量的方法。使用该方法,可以将文件的文本内容传递给变量。openuser_filereadfile_contents
我在表达式的开头使用了,以便在读取文件的内容后,Python可以关闭文件。with
file_contents现在包含 JSON 的字符串化版本。下一步,现在可以解析 JSON。
如何解析 JSONPython具有用于各种操作的内置模块。为了管理JSON文件,Python具有模块。json
此模块附带了许多方法。其中之一是解析JSON字符串的方法。然后,您可以将解析的数据分配给如下所示的变量:loads()
import json
with open('user.json') as user_file:
file_contents = user_file.read()
print(file_contents)
parsed_json = json.loads(file_contents)
# {
# 'name': 'John'
# 'age': 50
# 'is_married': False
# 'profession': None
# 'hobbies': ['travelling' 'photography']
# }
使用该方法,您可以看到该变量现在具有有效的字典。从此字典中,您可以访问其中的键和值。loads()parsed_json
另请注意如何从JSON转换为python。这是因为 在 中无效。nullNonenullPython
如何使用读取和解析 JSON 文件json.load()该模块还具有可用于读取文件对象并同时解析它的方法。使用此方法,您可以将前面的代码更新为:jsonload
import json
with open('user.json') as user_file:
parsed_json = json.load(user_file)
print(parsed_json)
# {
# 'name': 'John'
# 'age': 50
# 'is_married': False
# 'profession': None
# 'hobbies': ['travelling' 'photography']
# }
您可以直接使用读取和分析文件对象的方法,而不是使用文件对象的方法并使用模块的方法。