【Python】JSON

json

  • 一、`JSON`
    • 1.1 概述
    • 1.2 数据结构
    • 1.3 值
    • 1.4 字符串
    • 1.5 数值
  • 二、编程语言与`JSON`
    • 2.1 `JavaScript`与`JSON`
    • 2.2 `Python`与`JSON`

一、JSON

1.1 概述

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写。同时也易于机器解析和生成。

JSON采用完全独立于语言的文本格式,常用于客户端和服务器之间的数据传输

1.2 数据结构

JSON构建两种数据结构:数组(Array)和对象(Object)

数组在Python语言中称为列表(List);对象在Python语言中称为字典(Dict)

数组是值的有序集合。一个数组以左中括号开始,右中括号结束,值之间使用逗号分隔。

在这里插入图片描述


['Tom',25,true,null]

对象是一个无序的名/值对集合。一个对象以左花括号开始, 右花括结束。每个名称后跟一个冒号 ,名/值对之间使用逗号分隔。

在这里插入图片描述


{"id":1,"username":"Tom","age":23,"sex":true
}

1.3 值

值可以是字符串、数值、truefalsenull、对象或者数组,这些结构可以嵌套。

在这里插入图片描述


[["Tom",23,true],["Rose",21,false],["Frank",18,true]
]

{"id" : 1,"username" : "Tom","age" : 25,"score" : {"chinese" : 109,"math" : 150,"english" : 139}
}

1.4 字符串

字符串是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符即一个单独的字符串。

在这里插入图片描述


{"id":1,"subject":"迭代 JSON 对象"
}

1.5 数值

数值为合法的数字表现形式,包括整数、小数及科学计数法。

在这里插入图片描述

二、编程语言与JSON

2.1 JavaScriptJSON

JSON.parse()方法用于将JSON格式的字符串转换为JavaScript对象,其语法结构是:


JSON.parse(text)

其中:

text参数指要解析的JSON格式字符串

JavaScript代码如下:


var json = '["tom","rose","frank","ben","david"]';
var array = JSON.parse(json);

JSON.stringify()方法用于将JavaScript对象转换为JSON格式的字符串,其语法结构是:


JSON.stringify(value)

其中:

value参数指要序列化为JSON格式的值

JavaScript代码如下:


var obj = { name: "John", age: 30, city: "New York" };
var str = JSON.stringify(obj)

2.2 PythonJSON

Python中,可以使用内置的json模块来处理JSON数据。


import json

json.dumps()方法用于将Python对象序列化为JSON格式的字符串,其语法结构是:


json.dumps(obj)

Python代码如下:


import jsonobj = {"name": "John", "age": 30, "city": "New York"}
str = json.dumps(obj)print(str) # 输出:{"name": "John", "age": 30, "city": "New York"}

json.loads()方法用于将JSON格式的字符串反序列化为Python对象,其语法结构是:


json.loads(s)

Python代码如下:


import jsonstr = '{"name": "John", "age": 30, "city": "New York"}'
obj = json.loads(str)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/30042.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何用大模型+知识库打造微信群里的AI问答神器!

想象一下,你的微信群或公众号中,有一个AI问答专家随时待命,帮助你和你的朋友们解答各种问题,是不是很酷? 现在,让我们来看看这个项目的技术框架,一步步了解它是如何构建的: 基础起…

zookeeper学习、配置文件参数详解

zookeeper学习、配置文件参数详解 zookeeper 配置文件参数详解tickTime 、session 的过期时间、maxSessionTimeout 三者之间的关系initLimit,syncLimit什么区别minSessionTimeout 默认值,**他的单位是ms** zookeeper 配置文件参数详解 ZooKeeper 是一个分布式协调服…

自动驾驶#芯片-1

概述 汽车是芯片应用场景之一,汽车芯片需要具备车规级。  车规级芯片对加工工艺要求不高,但对质量要求高。需要经过的认证过程,包括质量管理标准ISO/TS 16949、可靠性标准 AEC-Q100、功能安全标准ISO26262等。  汽车内不同用途的芯片要求…

如何卸载windows系统自带游戏

为了清晰地指导如何卸载Windows系统自带游戏,我们可以参考以下步骤进行: 方法一:通过控制面板卸载 打开控制面板进入程序和功能在控制面板中,找到并点击“程序和功能”。在程序列表中,找到你想要卸载的自带游戏。 方…

AI一键生成PPT工具:AIPPT网站分享

PowerPoint演示文稿作为商业沟通、教育培训以及日常汇报的重要工具,一份精美的ppt可以帮助我们提升演示效果以及显示我们的专业性。为了提升ppt的制作效率,我们可以使用AI一键智能生成ppt工具,这样我们就可以快速制作出高大上的PPT了。下面小…

Web攻防:SQL注入 - MySQL 盲注

SQL注入 - MySQL 盲注 1. 基于布尔 SQL 盲注1.1 LEFT() 函数1.1.1 介绍:1.1.2 注入语法:1.1.3 案例 (SQLi-Labs:Less-8) 1.2 ASCII() 函数 SUBSTR() 函数1.2.1 介绍:1.2.2 注入语法:1.2.3 案例 (SQLi-Labs&#xff1a…

Java——可变参数

一、可变参数 1、介绍 Java的可变参数(Varargs)是一种语法特性,允许一个方法接受不定数量的参数。可变参数的使用通过在参数类型后面添加省略号(...)实现。这使得方法在调用时可以传入不同数量的参数,而不…

Android device/xxx/system/common/overlay编译产物

MTK 如下代码编译的产物在 framework-res.apk 编译配置文件在device/mediatek/system/common/目录下的Android.bp device/mediatek/system/common/overlay/telephony/frameworks/base/core/res/res/values-mcc655-mnc01/config.xml 在Android U上面还在overlay目录中进行了产…

python是TIOBE编程语言排名第一的编程语言,它有什么优点?它的使用场景有哪些?用python打印数字1--100,用python打印九九乘法表怎么写?

Python是TIOBE编程语言排行榜排名第一的编程语言 。 python是一种解释性、交互式、面向对象的跨平台的语言。 python设计者及名称由来 Guido van Rossum 荷兰人---吉多范罗苏姆,是 Python 编程语言的最初设计者,在 Python 社区一直担当终身仁慈独裁者&…

教你如何安装 IntelliJ IDEA

安装 IntelliJ IDEA 的步骤通常如下,这里提供的是基于 Windows 系统的安装指南。 下载 IntelliJ IDEA 1. 访问 JetBrains 官方网站:[https://www.jetbrains.com/idea/download/](Download IntelliJ IDEA – The Leading Java and Kotlin IDE) 2. 选择适…

vue+echarts实现tooltip轮播

效果图如下: 实现步骤如下: 定义一个定时器 timer:null, len: 0,页面一加载就清空定时器,此操作是为了防止重复加载时会设置多个定时器在setOption后设置定时器 this.myChart.clear() this.myChart.setOption(option); this.autoShowTool…

java 面试题--基础

文章目录 基础java SE 、 EE 、 ME 的区别jdk 和 jre 区别?java 的日志级别基本数据类型 特性关键字finalabstractsuperswitchfortry catch 接口和抽象类的区别接口抽象类适用场景 类的加载循序静态代码块 传参问题访问修饰符运算符 反射java 里的应用为什么反射的性…

禹晶、肖创柏、廖庆敏《数字图像处理(面向新工科的电工电子信息基础课程系列教材)》Chapter 10插图

禹晶、肖创柏、廖庆敏《数字图像处理(面向新工科的电工电子信息基础课程系列教材)》 Chapter 10插图

YOLOv8旋转目标检测Yolov8n-obb详细实例+rolabelimg

一、Yolov8环境搭建 首先创建虚拟环境下载安装(其实就是yolov8的环境)再大概写一下步骤,没有想详细的看本人另外一篇:YOLOv8环境搭建_yolov8环境配置-CSDN博客 1、下载安装anaconda 2、创建虚拟环境 conda create -n my_yolov8…

【Gradio】Chatbot | 如何使用 Gradio Blocks 创建自定义聊天机器人

简介 重要提示:如果您刚开始接触,我们建议使用 gr.ChatInterface 来创建聊天机器人——它是一个高级抽象,使得可以快速创建漂亮的聊天机器人应用程序,往往只需一行代码。在这里了解更多信息。 本教程将展示如何使用 Gradio 的低级…

vue3中实现3D地图——three.js

需求点 地图区域大小随着父盒子大小变动,窗口缩放自动适配每个区域显示不同颜色和高度,描边每个区域显示名字label和icon点击区域改变其透明度,并且弹窗显示信息窗口点击点也可以可以自由放大缩小,360度旋转 包 npm install d3^…

背景渐变动画登录页

b站视频演示效果: 效果图: 完整代码: <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>背景…

大模型商业化:李开复向左,张亚勤向右

文&#xff5c;白 鸽 “零一万物坚决做To C&#xff0c;不做赔钱的To B&#xff0c;要做能赚钱的To B。”2024年6月14日&#xff0c;在智源大会上&#xff0c;零一万物创始人李开复如此坚定地说道。 而与之相对&#xff0c;中国工程院院士、清华大学智能产业研究院&…

2024/06/18--代码随想录算法8/17| 股票问题

121.买卖股票的最佳时机 力扣链接 动规五部曲 确定dp数组&#xff08;dp table&#xff09;以及下标的含义 dp[i][0] 表示第i天持有股票所得最多现金,dp[i][1] 表示第i天不持有股票所得最多现金确定递推公式 dp[i][0] max(dp[i-1][0], -price[i]) dp[i][1]max(dp[i-1][1], …

QTimeEdit、QDateEdit、QDateTimeEdit、QCalendarWidget

实验 QTime和字符串相互转换 QDate和字符串相互转换 QDateTime和字符串相互转换 QCalendarWidget使用 year&#xff0c;month&#xff0c;day&#xff0c;minute&#xff0c;second&#xff0c;msec&#xff0c;dayOfWeek, dayto方法/属性的使用 布局 datetimeexample.cpp #inc…