首页 > 编程语言 >Python——第五章:json模块

Python——第五章:json模块

时间:2023-12-12 17:57:29浏览次数:53  
标签:Python JSON json 第五章 模块 格式 数据

什么是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()

  1. 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字符串。

  2. 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之间进行转换变得非常简便。

标签:Python,JSON,json,第五章,模块,格式,数据
From: https://www.cnblogs.com/Magiclala/p/17897468.html

相关文章

  • 02-python基础学习
    Python简介:python是一个解释型语言,主要理念就是优雅和简单。目前市面上存在两个版本的python,2版本现在已经停止更新。因此使用3.x版本编写的python代码无法使用2.xpython解释器进行处理。python源文件以.py结尾,其中的代码,通过使用python解释器解释执行。可以通过使用......
  • Python实现单例模式的五种写法
    单例模式是一种设计模式,用于确保一个类只有一个实例,并提供全局访问点。在Python中,可以使用多种方法实现单例模式。本文将介绍五种常见的Python单例模式实现方式,包括使用模块、装饰器、基类、元类和线程安全机制。单例模式是一种常见的设计模式,用于确保一个类只有一个实例,并提供全局......
  • Python爬取网站内容时,出现返回200和403状态码的原因解析
    在使用Python进行网页爬取时,我们有时会遇到返回200状态码表示成功,而有时会遇到返回403状态码表示访问被拒绝的情况。本文将解析造成这种情况的可能原因,并提供一些解决方法,以确保爬取网站内容的顺利进行。在使用Python进行网页爬取时,经常会遇到一种情况:有时成功返回200状态码,表示请......
  • 解决Python爬虫中Header报错的方法
    在使用Python编写爬虫时,有时会遇到Header报错的情况。本文将介绍常见的Header报错类型,并提供解决方法,帮助您顺利处理Python爬虫中的Header报错问题。当我们使用Python进行爬虫开发时,经常需要设置请求头(Header)来模拟浏览器发送请求。然而,有时可能会遇到一些与Header相关的报错。以下......
  • Python办公自动化在Mac和Linux平台上的兼容性限制
    Python是一种强大的编程语言,被广泛应用于办公自动化领域。然而,有关Python办公自动化在Mac和Linux平台上的兼容性问题需要进行一定的探讨。本文将对Python办公自动化在Mac和Linux平台上的兼容性限制进行分析,并提供一些解决方案。Python是一种流行的编程语言,在办公自动化领域有着广泛......
  • Python爬虫无法获取页面内容的常见原因及解决方法
     在使用Python进行网页爬取时,有时会遇到无法获取页面内容的情况。本文将探讨造成这种情况的常见原因,并提供一些解决方法,帮助您顺利进行网页内容的爬取。 当我们使用Python进行网页爬取时,有时会遇到无法获取页面内容的情况。以下是可能导致这种情况的常见原因: 1.请求错误: 在构......
  • 《Effective Java》阅读笔记-第五章
    EffectiveJava阅读笔记第五章泛型第26条不要使用原生类型随着泛型的普及,这条没什么可说的。如果不知道具体类型,可以使用<?>来代替。第27条消除unchecked警告原生类型到泛型转换时,编译会有警告,可以使用@SuppressWarnings("unchecked")来消除警告。并且应该在尽可......
  • Python中isdigit、isnumeric、isdecimal
    isdigit字符串的isdigit方法用于判断字符串是否只包含数字,即0-9的字符print('1233'.isdigit())#Trueprint('12.33'.isdigit())#Falseisnumeric字符串的isnumeric方法可用于判断字符串是否是数字,数字包括Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字print('23......
  • 用python将csv转excel (.xls和.xlsx)的几种方式
    excel后缀有2种格式,.xls是从Excel97到Excel2003的默认文件格式,而.xlsx是Excel2007及更高版本的默认文件格式。.xlsx和.xls格式的主要区别在于,.xls格式单个工作表最多支持65536行,256列。.xlsx格式最多支持1048576行,16384列。此外就是,存储同样多的数据,.xlsx格式文......
  • python中x[:] x[::]用法总结
    X[:,0]#二维数组取第1维所有数据X[:,1]#第2列X[0,:]#第1行X[3,:]#第三行X[1:4,:]#第一二三行总结一下:无论是左边还是右边逗号都要靠近冒号:如果冒号:的左边或者右边还有冒号,这时候就说明其中一个冒号代表的是范围(eg:1:5从1到4)如果冒号:左边或者右边没有任何东西,那么这......