Python语言学习笔记之七(JOSN应用)

本课程对于有其它语言基础的开发人员可以参考和学习,同时也是记录下来,为个人学习使用,文档中有此不当之处,请谅解。

1、认识Json

JSON (JavaScript Obiect Notation)是一种轻量级的数据交换格式,它是ECMAScript的一个子集,用于存储和交换文本信息。JSON使用JavaScript的语法描述和操纵数据,但它是Python、Java、C++和其他许多编程语言的一个子集.

1.1 JSON的特点:

  1. 语法简单:JSON使用易于阅读的键值对形式表示数据,其中“键”是一个字符串,"值"可以是数字、字符串、布尔值、数组或对象。
  2. 数据独立性:JSON独立于编程语言和平台,可以在不同的系统和环境中使用
  3. 可读性强: JSON的语法使得数据易于阅读和理解,特别适合于数据交换和存储
  4. 广泛使用: JSON已经广泛用于Web开发、API接口、数据存储和交换等领域

1.2 JSON基本语法

  1. 对象:表示一个JSON对象是一个键值对的集合,它包括大括号和包含在大括号中的键值对,键和值之间用冒号:分隔,每个键值对之间用逗号,分隔。
  2. 属性: 在JSON对象中,每个键都是一个属性,每个属性都有一个名称和一个值.
  3. 数组:表示一个JSON数组是一个有序的值的集合,它包括方括号{}和包含在方括号中的值。每个值之间用逗号,分隔.
  4. 值:在JSON中,每个值都是一个数字、字符串、布尔值、数组或对象。
  5. 空: JSON对象和数组可以包含一个空值,表示没有任何元素或属性
  6. 注释: 在JSON中,注释是可选的,可以用//来注释一行,也可以用/*...*/来注释多行
  7. 转义字符:在JSON字符串中,反斜杠\、双引号”、反引号”等字符需要转义,以避免与语法冲突

1.3 JSON存储格式样例:

JSON对象包含四个属性name、age、hobbies和个字符串,age的值是一个address。name的值是数字,hobbies的值是一个数组,address的值是一个嵌套的JSON对象

1.4 JSON应用场景

  1. Web开发: JSON经常用于与Web应用程序进行数据交换,特别是在RESTful API中
  2. 数据存储和交换:JSON可以用于存储和交换结构化数据,例如在数据库、文件系统和网络通信中
  3. 客户端与服务器之间的通信: 在客户端和服务器之间传输数据时,JSON是一种常见的数据格式
  4. 配置文件: JSON可以用于存储和读取配置数据,例如应用程序的设置和参数
  5. 数据可视化:JSON可以用于生成可交互的数据可视化图表,例如使用JavaScript库如D3.is等

2、JSON方法

1、json.dumps(): 将Python对象转换为JSON字符串;

代码:

结果:

2、json.dump():将Python对象写入JSON文件

3、json.load(): 从JSON文件中读取Python对象

3、JSON在Python项目中的应用

  1. 数据交换:JSON可以用于在不同的系统、平台和语言之间进行数据交换。在Web开发中、JSON常用于服务器与客户端之间的数据传输,如RESTfulAPI的请求和响应
  2. 数据存储:JSON可以用于将结构化数据存储在文件或数据库中Python内置的ison模块提供了将Python对象序列化为JSON字符串以及将JSON字符串反序列化为Python对象的功能
  3. 数据处理:JSON可以用于解析和操作大规模的数据集。在大数据处理和机器学习领域,JSON格式的数据常用于输入和输出各种模型和算法。

4、JSON在人工智能中的应用

  1. 数据存储:JSON可以用于将结构化数据存储在文件或数据库中,在机器学习领域,训练集通常以JSON格式存储,便于后续的数据读取和预处理
  2. 数据处理:JSON可以用于解析和操作大规模的数据集。在大数据处理和机器学习领域,JSON格式的数据常用于输人和输出各种模型和算法
  3. 模型定义:在机器学习领域,一些框架(如TensorFlow、PyTorch等) 使用JSON格式来定义模型的结构。这些JSON文件包含了模型的所有层、节点和连接信息。
  4. 结果解析:在机器学习实验中,模型的输出结果有时会以JSON格式返回,便于解析和处理
  5. API接口数据交互:在后端开发中,JSON常用于API接口的数据交互。通过定义好数据的结构和类型,开发人员可以更方便地构建和解析JSON数据。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python高级练习题库实验1(A)部分

文章目录 题目1代码实验结果题目2代码实验结果题目3代码实验结果题目4代码实验结果题目总结题目1 输入一个整数,用于控制输出*的个数,输入日期,按照特定格式输出 研究下面的例子,并编写一个与这些例子完全相同的程序。 代码 import datetime# ask user for length of b…

ZPLPrinter Emulator SDK for .NET 6.0.23.1123​ Crack

ZPLPrinter Emulator SDK for .NET 适用于 .NET 的 ZPLPrinter 仿真器 SDK 允许您通过编写 C# 或VB.NET 代码针对任何 .NET Framework、.NET CORE、旧版 ASP.NET MVC 和 CORE、Xamarin、Mono 和通用 Windows 平台 (UWP) 作业。 适用于 .NET 的 ZPLPrinter 仿真器 SDK 允许您将…

ubuntu0.22.04.1安装mysql8.0及root密码注意

先看一下你的安装包是什么版本 apt list |grep mysql基本都是默认的8.0版本,然后安装: apt-get install mysql-server-8.0安装以后 ,mysql默认启动; 一般root 是没有密码的,在本地直接回车登录 我们看一下密码插件 …

Kubernetes(K8s)_15_CNI

Kubernetes(K8s)_15_CNI CNI网络模型UnderlayMAC VLANIP VLANDirect Route OverlayVXLAN CNI插件FlannelCalico CNI配置内置实现 CNI CNI(Container Network Interface): 实现容器网络连接的规范 Kubernetes将网络通信可分为: Pod内容器、Pod、Pod与Se…

一个菜单两个二级路由的搭建

效果如下,而且这是最上方的菜单,需要进入以后重定向。 {path: /,name: HOME,component: ConsoleLayout, //这里也有router-viewmeta: {menu: false},redirect: {name: ManagerList},children: [{path: /rightsManage,name: RightsManage,component: () &…

【刷题笔记】串联所有单词的子串||暴力通过||滑动窗口

串联所有单词的子串 1 题目描述 https://leetcode.cn/problems/substring-with-concatenation-of-all-words/ 给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串 长度相同。 s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。 …

EasyMicrobiome-易扩增子、易宏基因组等分析流程依赖常用软件、脚本文件和数据库注释文件

啥也不说了,这个好用,给大家推荐:YongxinLiu/EasyMicrobiome (github.com) 大家先看看引用文献吧,很有用:https://doi.org/10.1002/imt2.83 还有这个,后面马上介绍:YongxinLiu/EasyAmplicon: E…

将项目放到gitee上

参考 将IDEA中的项目上传到Gitee仓库中_哔哩哔哩_bilibili 如果cmd运行ssh不行的话,要换成git bash 如果初始化后的命令用不了,直接用idea项放右键,用git工具操作

【Linux】进程控制--进程创建/进程终止/进程等待/进程程序替换/简易shell实现

文章目录 一、进程创建1.fork函数2.fork函数返回值3.写时拷贝4.fork常规用法5.fork调用失败的原因 二、进程终止1.进程退出码2.进程退出场景3.进程常见退出方法 三、进程等待1.为什么要进行进程等待2.如何进行进程等待1.wait方法2.waitpid方法3.获取子进程status4.进程的阻塞等…

【双向链表的实现】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 1. 双向链表的结构 2. 双向链表的实现 2.1 头文件 ——双向链表的创建及功能函数的定义 2.2 源文件 ——双向链表的功能函数的实现 2.3 源文件 ——双向链表功能的…

计算机网络:应用层(下篇)

文章目录 前言一 、电子邮件(Email)1.邮件服务器2.SMTP[RFC 2821]3.邮件报文格式4.邮件访问协议 二、DNS(域名系统)1.DNS的历史2.DNS总体思路和目标(1)问题1:DNS名字空间(2&#xff…

(项目已开源)社区求助 哪位大佬能不能帮我 将box1 audio 和 box2 slider滑块 和 box3 歌词滚动区域 进行联动

(项目已开源)社区求助 哪位大佬能不能帮我 将box1 audio 和 box2 slider滑块 和 box3 歌词滚动区域 进行联动 链接&#xff1a;https://pan.baidu.com/s/16lpEW6L5jrHfhsG7EXocLw?pwdkryy 提取码&#xff1a;kryy <!--社区求助 哪位大佬能不能帮我 将box1 audio 和 box2 s…

rest_framework_django 学习笔记二(视图路由)

rest_framework_django 学习笔记二&#xff08;视图路由&#xff09; rest_framwork_django学习笔记一(序列化器) 一、rest framework 中Request 与 Response 1、Request REST framework 传入视图的request对象不再是Django默认的HttpRequest对象&#xff0c;二是REST Fame…

Git常用命令#切换分支

要在 Git 中切换分支&#xff0c;你可以使用 git checkout 命令。 a.创建新分支并切换到该分支 如果你想要创建一个新分支并立即切换到该分支&#xff0c;可以使用以下命令&#xff1a; git checkout -b 新分支名这会创建一个名为 新分支名 的新分支&#xff0c;并将你的工作目…

OSEK OS任务调度的底层逻辑

先参考 FreeRTOS的任务触发底层逻辑 简述RTOS任务调度底层逻辑 AUTOSAR-OS的调度机制-调度表&#xff08;没理解透&#xff0c;继续更新&#xff09; OSEK与FreeRTOS在任务调度上最大的区别在于&#xff0c;FreeRTOS是基于全抢占任务调度和时间片轮转调度机制&#xff0c;具有…

(一)C语言概述

文章目录 一、C语言1、计算机结构组成 二、第一个C语言程序&#xff1a;hello world1、编写C语言代码&#xff1a;hello.c2、通过gcc编译C代码&#xff08;1&#xff09;gcc编译器介绍&#xff08;2&#xff09;Window平台中gcc环境配置 3、代码分析&#xff08;1&#xff09;#…

css新闻链接案例

利用html和css构建出新闻链接案例&#xff0c;使用渐变色做出背景色变化 background: linear-gradient(to bottom, rgb(137, 210, 251), rgb(238, 248, 254), white); 利用背景图片&#xff0c;调整位置完成 dd { height: 28px; line-height: 28px; background-image: url(./图…

10.30 作业 C++

设计一个Per类&#xff0c;类中包含私有成员:姓名、年龄、指针成员身高、体重&#xff0c;再设计一个Stu类&#xff0c;类中包含私有成员:成绩、Per类对象p1&#xff0c;设计这两个类的构造函数、析构函数和拷贝构造函数。 #include <iostream>using namespace std;clas…

Discuz论坛自动采集发布软件

随着网络时代的不断发展&#xff0c;Discuz论坛作为一个具有广泛用户基础的开源论坛系统&#xff0c;其采集全网文章的技术也日益受到关注。在这篇文章中&#xff0c;我们将专心分享通过输入关键词实现Discuz论坛的全网文章采集&#xff0c;同时探讨采集过程中伪原创的发布方法…

springboot+jsp+java房屋销售出租赁网站的ssm设计与实现7xcvq

三、研究方案&#xff08;主要研究内容、目标、研究方法等&#xff09; 主要研究内容 房屋租售网站采用的开发框架为springboot框架&#xff0c;也就是Spring mvc、Spring、MyBatis这三个框架&#xff0c;页面设计用的是jsp技术作为动态页面文件设计&#xff0c;jsp文件里可以对…