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

news2024/11/16 3:22:27

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

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数据。

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

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

相关文章

计算机毕业设计 基于Web的课程设计选题管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

Python中基于Pandas的Excel工具类,一文掌握!

更多资料获取 📚 个人网站:ipengtao.com 在Python中处理Excel时,Pandas库是一个强大且灵活的工具。它不仅能够轻松处理数据分析任务,还能用于创建、读取和写入Excel文件。在本文中,将探讨如何使用Pandas库封装一个Exc…

C#图像处理OpenCV开发指南(CVStar,04)——图片像素访问与多种局部放大效果的实现代码

​​​​​​​ 使用本文代码需要预先设置一点开发环境,请阅读另外一篇博文: C#图像处理OpenCV开发指南(CVStar,03)——基于.NET 6的图像处理桌面程序开发实践第一步https://blog.csdn.net/beijinghorn/article/deta…

UWB高精度定位系统项目源码

在现代社会中,精准定位技术对于各行各业都至关重要。为了满足对高精度定位的需求,超宽带(Ultra-Wideband, UWB)技术应运而生。UWB高精度定位系统以其出色的定位精度和多样化的应用领域而备受关注。本文将深入探讨UWB高精度定位系统…

ntopng如何将漏洞扫描与流量监控相结合,以提高网络安全性

来源:艾特保IT 虹科干货 | ntopng如何将漏洞扫描与流量监控相结合,以提高网络安全性 欢迎关注虹科,为您提供最新资讯! ntopng为人所知的“身份”是被动流量监控。然而,如今的ntopng6.0也进化出主动监控功能来&#xf…

springboot自定义校验注解的实现

自定义校验注解的实现 通过谷粒商城项目学习了自定义校验器的实现一、编写自定义校验注解二、自定义注解的校验器三、关联自定义的校验器和自定义的校验注解总结 通过谷粒商城项目学习了自定义校验器的实现 近日在学习雷神的谷粒商城项目,其中有一个自定义校验的实…

力扣日记11.30-【二叉树篇】平衡二叉树

力扣日记:【二叉树篇】平衡二叉树 日期:2023.11.30 参考:代码随想录、力扣 110. 平衡二叉树 题目描述 难度:简单 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为&#…

【LeetCode】每日一题 2023_11_29 无限集中的最小数字(哈希/堆)

文章目录 刷题前唠嗑题目:无限集中的最小数字题目描述代码与解题思路偷看大佬题解 结语 刷题前唠嗑 LeetCode?启动!!! 今天的题目也比较的简单,因为数据量不大,所以什么做法都能过的去 题目&a…

java 对象大小计算

说明: 对于64位机:一个对象由三部分组成 对象头(object header) mark word :64bitkclass pointer :32bit(默认使用指针压缩),如果取消指针压缩( XX:-UseCompressedOops),则占用64bit数组长度:数…

Linux:docker镜像的创建(5)

1.基于已有镜像创建 步骤: 1.将原始镜像加入容器并运行 2.在原始镜像中部署各种服务 3.退出容器 4.使用下面命令将容器生成新的镜像 现在我们在这个容器里做了一些配置,我们要把他做成自己镜像 docker commit -m "centos7_123" -a "tarr…

ArkTS-DevEco Studio打开预览器报错

下载官网Codelab案例,打开预览器报错 Failed to start the service process. Make sure the path specified by nodejs.dir in the local.properties file is correct. 解决方案 在编辑器设置中找到node安装路径 将" local.properties"文件中的"nod…

老泮识趣:难忘何家桥

回忆何家桥往事,写了篇《消失的何家桥》,没想到点击率如此高,出乎意料。网友的共鸣可见,城市发展的今天,乡情是个美好的存在,清贫、朴实,丝毫不影响美感。由于大家的鼓励,触动了我再…

电力变压器行业分析:预计2029年将达到84亿元

随着中国“节能降耗”政策的不断深入,国家鼓励发展节能型、低噪音、智能化的配电变压器产品。在网运行的部分高能耗配电变压器已不符合行业发展趋势,面临着技术升级、更新换代的需求,未来将逐步被节能、节材、环保、低噪音的变压器所取代。 电…

PyBullet安装与学习

PyBullet 支持加载 URDF、SDF、MJCF 等多种机器人描述文件,并提供正/逆向运动学、正/逆向动力学、碰撞检测、射线相交查询等功能。 pip install pybullet 安装后会在 Python 环境的 lib/site-packages 中出现以下文件夹: pybullet_data:存放…

VERAS:AI驱动的Revit可视化渲染插件

Veras 是一款基于生成式AI 的可视化工具,可以使用自然语言生成3D渲染效果,兼容Revit、Rhino 和 SketchUp。Veras for Revit工具使用 Revit 模型内部的 3D 视图。 NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编…

Spine深入学习 —— 换装

Spine深入学习————换装 数据对象和实例对象的关系与区别 数据对象是无状态的,可在任意数量的骨架实例间共用。有对应实例数据的数据对象类名称以“Data”结尾,没有对应实例数据的数据对象则没有后缀,如附件、皮肤及动画。 实例对象有许…

【FMC140】 基于VITA57.4标准的双通道5.2GSPS(或单通道10.4GSPS)射频采样FMC+子卡模块

板卡概述 FMC140是一款具有缓冲模拟输入的低功耗、12位、双通道(5.2GSPS/通道)、单通道10.4GSPS、射频采样ADC模块,该板卡为FMC标准,符合VITA57.1规范,该模块可以作为一个理想的IO单元耦合至FPGA前端,8通道…

【嵌入式Linux开发一路清障-连载04】虚拟机VirtualBox7.0安装Ubuntu22.04后挂载Windows平台共享文件夹

虚拟机安装Ubuntu22.04后挂载Windows平台共享文件夹 障碍07-虚拟机VirtualBox7.0完装完Ubuntu22.04后,无法成功挂载Windows平台中共享文件夹,无法访问电脑中的各类重要文件,我该怎么办?一、问题的模样:VirtualBox7.0设…

Python异常处理:try...except语句

Python是一门非常灵活且易于学习的编程语言,在日常开发中被广泛应用。然而,由于各种原因,我们的代码可能会出现异常情况,例如输入错误、文件读写异常等等。Python异常处理是Python中重要的一部分,为了保证程序的稳定性…

IPv6地址介绍

当前我国的网络正在快速向IPv6升级中,从网络基础设施如运营商骨干网、城域网,到互联网服务商如各类云服务,以及各类终端设备厂商如手机、电脑、路由器、交换机等。 一、网络IP地址 IP地址是英文Internet Protocol的缩写,是网络之…