什么是json:
json
模块是用于处理 JSON(JavaScript Object Notation)数据的模块,翻译过来叫js对象简谱。JSON是一种轻量级的数据交换格式,常用于将数据在不同语言之间进行传递。
我们先来看一段json
代码:
wf = {
"name": "汪峰",
"age": 18,
"hobby":"上头条",
"wife": {
"name": '子怡',
"age": 19,
"hobby": ["唱歌","跳舞","演戏"]
}
}
这个不是字典么?对的,在python里这玩意叫字典,但是在javascript里这东西叫json。一模一样的,我们发现用这样的数据结构可以完美的表示出任何对象,并且可以完整的把对象表示出来,只要代码格式比较好,那可读性也是很强的.所以大家公认用这样一种数据结构作为数据交互的格式.那在这个鬼东西之前是什么呢?来看一段XML代码
<?xml version="1.0" encoding="utf-8" ?>
<wf>
<name>汪峰</name>
<age>18</age>
<hobby>上头条</hobby>
<wife>
<name>子怡</name>
<age>18</age>
<hobbies>
<hobby>唱歌</hobby>
<hobby>跳舞</hobby>
<hobby>演戏</hobby>
</hobbies>
</wife>
</wf>
在过去, web 浏览器和服务器之间的通信,是使用XML(eXtensible Markup Language)做为数据交换的格式。XML具有类似 HTML 的标记语言结构,它的设计目标是提供一种通用的方法来描述和交换结构化数据。
JSON在各种编程语言中都有良好的支持,包括但不限于JavaScript、Python、Java、C#等。这种广泛的支持使得不同语言的系统能够轻松地解析和生成JSON数据,从而实现数据的互通。因为它的简单性、易读性、广泛支持以及在不同语言和环境中的通用性。这使得它成为了一种理想的数据交换格式,连接了前端和后端系统。
在前后端分离的架构中,前端通常通过HTTP请求与后端进行数据交互。JSON作为数据的通用表示形式,可以在前端和后端之间传递、解析和展示数据,促进了前后端的协作和集成。前端可以通过Ajax请求获取JSON格式的数据,然后使用JavaScript轻松地解析和展示这些数据。后端可以接收JSON格式的数据,轻松地将其解析为服务器端的数据结构。
现在大部分的 Web 应用都选择使用 JSON 作为首选的数据交换格式,但仍然存在一些情况下使用 XML 的场景。
为此,我们要学会将json代码和python代码相互转换:
在Python中,json
模块提供了两个主要的操作方法:json.dumps()
和 json.loads()
。
json.dumps()
: 这个方法用于将Python对象转换为JSON格式的字符串。它接受一个Python对象作为参数,然后返回一个包含JSON数据的字符串。例如:import json data = { "name": "John", "age": 30, "city": "New York" } json_string = json.dumps(data) print(json_string)
上述代码将字典
data
转换为JSON字符串。json.loads()
: 这个方法用于将JSON格式的字符串转换为Python对象。它接受一个包含JSON数据的字符串,并返回一个相应的Python对象。例如:import json json_string = '{"name": "John", "age": 30, "city": "New York"}' data = json.loads(json_string) print(data)
上述代码将JSON字符串转换为Python字典。
json
模块的主要作用在于在不同系统、不同编程语言之间进行数据的传递和交换。由于JSON格式是一种通用的数据表示方式,许多编程语言都支持它,因此它成为了一种方便的数据交换格式。在Python中,json
模块的使用使得将Python对象与JSON之间进行转换变得非常简便。