前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Python读取,写入和解析JSON

使用Python读取,写入和解析JSON

作者头像
用户7466307
发布2020-07-02 17:39:50
41.1K0
发布2020-07-02 17:39:50
举报

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

代码语言:javascript
复制
示例: 
s ='{“ id”:01,“ name”:“ Emily”,“ language”:[“ C ++”,“ Python”]}'

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

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

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

  • Str
  • 列表
  • 对象(JSON对象)
  • 数组
  • 布尔型
  • 空值
代码语言:javascript
复制
例:
 {
   “员工”:[

      {
         “ id”:“ 01”,
         “ name”:“ Amit”,
         “部门”:“销售”
      },

      {
         “ id”:“ 04”,
         “ name”:“ sunil”,
         “部门”:“ HR”
      }
   ]
}
解析JSON(从JSON转换为Python)

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

句法:

代码语言:javascript
复制
json.loads(json_string)

例:

代码语言:javascript
复制
# 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']) 

输出:

代码语言:javascript
复制
{'id':'09','部门':'财务','名称':'Nitin'}
尼丁
Python读取JSON文件

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

句法:

代码语言:javascript
复制
json.load(file_object)

示例:假设JSON如下所示。

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

代码语言:javascript
复制
# 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()

输出:

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

从Python转换为JSON

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

句法:

代码语言:javascript
复制
json.dumps(dict,indent)

它带有两个参数:

  • dictionary –字典的名称,应将其转换为JSON对象。
  • 缩进–定义缩进单位数
代码语言:javascript
复制
# 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)

输出:

代码语言:javascript
复制
{
    “部门”:“ HR”,
    “ id”:“ 04”,
    “名称”:“ sunil”
}

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

  • 字典
  • 列表
  • 元组
  • 字符串
  • 整型
  • 浮动
  • True
  • False
  • NUll

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

将JSON写入文件

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

句法:

代码语言:javascript
复制
json.dump(dict,file_pointer)

它包含2个参数:

  • dictionary –字典的名称,应将其转换为JSON对象。
  • 文件指针–在写入或追加模式下打开的文件的指针
代码语言:javascript
复制
# 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)

输出:

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试test 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 解析JSON(从JSON转换为Python)
  • Python读取JSON文件
  • 从Python转换为JSON
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档