如何将Python字符串转换为JSON的实现方法
作者:IT孔乙己 发布时间:2022-07-11 02:58:37
目录
什么是 JSON
在哪里使用JSON
基本的 JSON 语法
如何在 Python 中处理 JSON 数据
包含 JSON 模块
使用 json.loads() 函数
总结
在本教程中,你将学习 JSON 的基础知识——它是什么、常用在哪里以及它的语法。
你还将看到如何在 Python 中将字符串转换为 JSON。
让我们开始吧!
什么是 JSON
JSON 是 JavaScript Object Notation(JavaScript 对象标记)的缩写。
它是一种数据格式,用于为 Web 应用程序存储和传输信息。
JSON 最初来自 JavaScript 编程语言,但它并不仅仅局限于一种语言。
大多数现代编程语言都有用于解析和生成 JSON 数据的库。
在哪里使用JSON
JSON 主要用于在服务器和客户端之间发送和接收数据,其中客户端是网页或 Web 应用程序。
在 Web 应用程序通过网络连接时使用的请求-响应周期中,这是一种更可靠的格式。与复杂且不太紧凑的 XML 相比,JSON 是使用得更多的格式。
基本的 JSON 语法
在 JSON 中,数据以键值对的形式写入,如下所示:
"first_name": "Katie"
数据用双引号括起来,键值对用冒号分隔。
可以有多个键值对,每个键值对之间用逗号分隔:
"first_name": "Katie", "last_name": "Rodgers"
上面的例子展示了一个对象,一个多个键值对的集合。
对象在花括号内:
{
"first_name": "Katie",
"last_name": "Rodgers"
}
你还可以使用 JSON 创建数组,即值的有序列表。在这种情况下,数组包含在方括号内:
[
{
"first_name": "Katie",
"last_name": "Rodgers"
},
{
"first_name": "Naomi",
"last_name": "Green"
},
]
// or:
{
"employee": [
{
"first_name": "Katie",
"last_name": "Rodgers"
},
{
"first_name": "Naomi",
"last_name": "Green"
},
]
}
//this created an 'employee' object that has 2 records.
// It defines the first name and last name of an employee
如何在 Python 中处理 JSON 数据
包含 JSON 模块
要在 Python 中使用 JSON,首先需要在 Python 文件的顶部包含 JSON 模块。这是 Python 内置的,是标准库的一部分。
因此,假设你有一个名为 demo.py 的文件。在顶部,你将添加以下行:
import json
使用 json.loads() 函数
如果你的程序中有 JSON 字符串数据,如下所示:
#include json library
import json
#json string data
employee_string = '{"first_name": "Michael", "last_name": "Rodgers", "department": "Marketing"}'
#check data type with type() method
print(type(employee_string))
#output
#<class 'str'>
你可以使用 json.loads() 函数将其转换为 Python 中的 JSON。
json.loads() 函数接受有效字符串作为输入并将其转换为 Python 字典。
这个过程叫作反序列化——将字符串转换为对象。
#include json library
import json
#json string data
employee_string = '{"first_name": "Michael", "last_name": "Rodgers", "department": "Marketing"}'
#check data type with type() method
print(type(employee_string))
#convert string to object
json_object = json.loads(employee_string)
#check new data type
print(type(json_object))
#output
#<class 'dict'>
然后,你可以访问每个单独的项目,就像使用 Python 字典时一样:
#include json library
import json
#json string data
employee_string = '{"first_name": "Michael", "last_name": "Rodgers", "department": "Marketing"}'
#check data type with type() method
print(type(employee_string))
#convert string to object
json_object = json.loads(employee_string)
#check new data type
print(type(json_object))
#output
#<class 'dict'>
#access first_name in dictionary
print(json_object["first_name"])
#output
#Michael
让我们再举一个例子:
1. 取一些 JSON 字符串数据
import json
#json string
employees_string = '''
{
"employees": [
{
"first_name": "Michael",
"last_name": "Rodgers",
"department": "Marketing"
},
{
"first_name": "Michelle",
"last_name": "Williams",
"department": "Engineering"
}
]
}
'''
#check data type using the type() method
print(type(employees_string))
#output
#<class 'str'>
2. 使用 json.loads() 函数将字符串转换为对象
import json
emoloyees_string = '''
{
"employees" : [
{
"first_name": "Michael",
"last_name": "Rodgers",
"department": "Marketing"
},
{
"first_name": "Michelle",
"last_name": "Williams",
"department": "Engineering"
}
]
}
'''
data = json.loads(employees_string)
print(type(data))
#output
#<class 'dict'>
3. 读取数据
import json
employees_string = '''
{
"employees" : [
{
"first_name": "Michael",
"last_name": "Rodgers",
"department": "Marketing"
},
{
"first_name": "Michelle",
"last_name": "Williams",
"department": "Engineering"
}
]
}
'''
data = json.loads(employees_string)
print(type(data))
#output
#<class 'dict'>
#access first_name
for employee in data["employees"]:
print(employee["first_name"])
#output
#Michael
#Michelle
总结
来源:https://blog.csdn.net/pythondby/article/details/121904578


猜你喜欢
- 使用smtplib模块发送邮件,供大家参考,具体内容如下1)使用smtplib模块发送简单邮件步骤:1.连接SMTP服务器,并使用用户名、密
- Ping服务ping 是基于 XML_RPC 标准协议的更新通告服务,用于Blog把内容更新快速通知给搜索引擎,以便搜索引擎及时进行抓取和更
- 笔者在网站开发中,采用PHP4.0+MySQL3.23.38建立了多种应用。下面,以一个简单的聊天室设计为例,介绍PHP+MySQL在网页开
- 今天发现一个使用python写的管理cisco设备的小框架tratto,可以用来批量执行命令。下载后主要有3个文件:Systems.py 定
- 在一些情况下,MySQL可以直接使用索引来满足一个 ORDER BY 或 GROUP BY 子句而无需做额外的排序。尽管 ORDER BY
- 创建项目scrapy startproject zhaoping创建爬虫cd zhaopingscrapy genspider hr zha
- 这带来了很多好处,但是也要求学习一些新的概念、命令、使用和管理任务。所以在投入你的生产系统之前,看看它解决什么、管理什么,以及对它的正反面评
- 简介在Java中我们可以通过反射来根据类名创建类实例,那么在Python我们怎么实现类似功能呢?其实在Python有一个builtin函数i
- 下面发一个简单的在线调试服务端js代码的asp源码。并可以提示代码具体错误信息。<%@language="javascrip
- 前面我们已经介绍了速度动画、透明度动画、多物体运动和任意值变化,并且我们在Javascript动画效果(二)中介绍到我们封装了一个简单的插件
- 前言:通常我们创建类都是使用class 类名,但是小伙伴们有没有想过,类是由谁来创建的呢,python中常说的万物皆对象,对象是由类创建的,
- 泰勒展开与e的求法大家伙儿知道计算机里的 e是怎么求出来的吗?这还要从神奇的泰勒展开讲起……简单
- PHP程序员玩转Linux系列文章:1.PHP程序员玩转Linux系列-怎么安装使用CentOS2.PHP程序员玩转Linux系列-lnmp
- 先来看这行代码:<script src = "allMyClientSideCode.js"></sc
- 1. 效果展示2. 游戏介绍经典的推箱子是一个非常古老游戏,甚至是80,90年代的回忆,目的是在训练你的逻辑思考能力。在一个狭小的仓库中,要
- 在正常项目开发过程中,如果MySQL版本从5.6升级到5.7版本。作为DBA在考虑数据库版本升级带来的影响时,一般会有几个注意点:sql_m
- 概念softmax函数是常用的输出层函数,常用来解决互斥标签的多分类问题。当然由于他是非线性函数,也可以作为隐藏层函数使用反向传播求导可以看
- ACCESS2000文件用ACCESS2007打开,并迁移到SQLSERVER2005里 打开ACCESS2007的数据库工具方法
- 前言本文的主要内容是使用 cpu 版本的 tensorflor-2.1 完成对 Auto MPG 数据集的回归预测任务。获取 Auto MP
- ASP调用WEBSERVICE----INDEX----1. soap请求方式2. post请求方式3.&