个性化阅读
专注于IT技术分析

如何使用Python读取、写入和解析JSON?完整指南

JSON是用于数据交换的轻量级数据格式, 可以由人类轻松读取和写入, 也可以由机器轻松解析和生成。它是一种完全独立于语言的文本格式。为了处理JSON数据, Python有一个内置软件包, 称为JSON.

Example:
s = '{"id":01, "name": "Emily", "language": ["C++", "Python"]}'

JSON的语法被视为JavaScript语法的子集, 包括以下内容:

  • 名称/值对:代表数据, 名称后跟”:”(冒号), “名称/值”对之间用(逗号)分隔。
  • 大括号:容纳对象。
  • 方括号:保留值以(逗号)分隔的数组。

键/值必须是带双引号的字符串, 值必须是以下类型的数据类型:

  • String
  • Number
  • Object(JSON对象)
  • Array
  • boolean
  • null
Example:
 {
   "employee": [

      {
         "id": "01", "name": "Amit", "department": "Sales"
      }, {
         "id": "04", "name": "sunil", "depatment": "HR"
      }
   ]
}

解析JSON(从JSON转换为Python)

json.loads()方法可以解析json字符串, 结果将是Python字典。

语法如下:

json.loads(json_string)

例子:

# Python program to convert JSON to Python
  
  
import json
  
# JSON string
employee = '{"id":"09", "name": "Nitin", "department":"Finance"}'
  
# Convert string to Python dict
employee_dict = json.loads(employee)
print (employee_dict)
  
print (employee_dict[ 'name' ])

输出如下:

{'id': '09', 'department': 'Finance', 'name': 'Nitin'}
Nitin

Python读取JSON文件

json.load()方法可以读取包含JSON对象的文件。考虑一个名为employee.json的文件, 其中包含一个JSON对象。

语法如下:

json.load(file_object)

例子:假设JSON如下所示。

pyhton-append-json1

我们想读取该文件的内容。下面是实现。

# Python program to read
# json file
   
   
import json
   
# Opening JSON file
f = open ( 'data.json' , )
   
# returns JSON object as 
# a dictionary
data = json.load(f)
   
# Iterating through the json
# list
for i in data[ 'emp_details' ]:
     print (i)
   
# Closing file
f.close()

输出如下:

python-read-json-output1

在这里, 我们使用了open()函数读取JSON文件。然后, 使用json.load()给我们一个名为data的字典的方法。

从Python转换为JSON

json.dumps()方法可以将Python对象转换为JSON字符串。

语法如下:

json.dumps(dict, indent)

它带有两个参数:

  • 字典–应该转换为JSON对象的字典的名称。
  • 缩进–定义缩进的单位数

例子:

# Python program to convert
# Python to JSON
   
   
import json
   
# Data to be written
dictionary = {
   "id" : "04" , "name" : "sunil" , "depatment" : "HR"
}
   
# Serializing json 
json_object = json.dumps(dictionary, indent = 4 )
print (json_object)

输出如下:

{
    "depatment": "HR", "id": "04", "name": "sunil"
}

可以将以下类型的Python对象转换为JSON字符串:

  • 字典
  • list
  • tuple
  • String
  • int
  • float
  • true
  • false
  • None

Python对象及其等效的JSON转换:

python JSON等效
字典 Object
列表, 元组 Array
str String
整数, 浮点数 Number
true true
false false
None null

将JSON写入文件

json.dump()方法可用于写入JSON文件。

语法如下:

json.dump(dict, file_pointer)

它包含2个参数:

  • 字典–应该转换为JSON对象的字典的名称。
  • 文件指针–在写或追加模式下打开的文件的指针。
# Python program to write JSON
# to a file
   
   
import json
   
# Data to be written
dictionary = {
     "name" : "sathiyajith" , "rollno" : 56 , "cgpa" : 8.6 , "phonenumber" : "9976770500"
}
   
with open ( "sample.json" , "w" ) as outfile:
     json.dump(dictionary, outfile)

输出如下:

python-json-写入文件

上面的程序使用” w”以写入模式打开一个名为sample.json的文件。如果文件不存在, 将创建该文件。Json.dump()将字典转换为JSON字符串, 并将其保存在文件sample.json中。

首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。


赞(0) 打赏
未经允许不得转载:srcmini » 如何使用Python读取、写入和解析JSON?完整指南
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏