【Python】json 格式转换 ② ( Json 格式简介 | Json 概念 | Json 功能 | 对象 / 数组 格式 | 嵌套格式 | Json 特点 )

2023-07-22 21:42:13





一、Json 格式简介




1、Json 概念


Json 的英文全称为 " JavaScript Object Notation " , JavaScript 对象符号 ;

Json 是 轻量级 数据交换格式 ;

Json 中的基本元素是 字符串、数字、布尔值 或 null ,

  • Json 对象中的键值对 , 可以是上述类型元素 ;
  • Json 数组中的元素 , 可以是上述类型元素 ;

2、Json 功能


Json 的主要作用 是在 不同的 编程语言 中进行数据 传递 和 交互 ;


如 : Python 给 Java 传递数据 , 直接传递 Python 中的 容器变量 , Java 肯定无法解析该变量的值 , 将 Python 中的数据转为 Python 字符串以后 , 再传递给 Java , 可以实现 Python 语言和 Java 语言之间的数据交互操作 ;

同理 Java 给 Python 传递数据时 , 可以将 Java 数据转为 Json 字符串 , 然后传递给 Python 语言 ;


3、Json 格式 - 对象 / 数组 格式


Json 的 基本格式 主要有 对象 和 数组 两种形式 ,

  • Json 对象格式 : Json 对象是在 大括号 中的键值对 , 键 和 值 之间 使用冒号隔开 , 每个 键值对 之间 使用 逗号隔开 ;
{  
  "name": "John",  
  "age": 30,  
  "city": "New York"  
}
  • Json 数组格式 : Json 数组 在 中括号 中存储 , 每个数组元素之间使用逗号隔开 ;
[  
  "apple",  
  "banana",  
  "orange"  
]

Json 对象对应着 Python 中的字典 , Json 数组对应着 Python 中的列表 , 上述对应可无缝衔接转换 ;


4、Json 格式 - 对象 / 数组 嵌套格式


Json 对象中的 键 和 值 可以是 对象 或 数组 ;

Json 数组中的元素 , 可以是 对象 或 数组 ;


下面的 Json 数据 是一个 Json 对象 ,

  • “hobbies” 键对应的值是一个数组 , 数组的元素是字符串 ;
  • “address” 键对应的值是一个对象 , 对象中是键值对 ;
{  
  "name": "John",  
  "hobbies": [  
    "reading",  
    "traveling"  
  ],  
  "address": {  
    "street": "123 Main St",  
    "city": "Anytown",  
    "state": "CA",  
    "zip": "12345"  
  }  
}

5、Json 特点


Json 可以在不同的平台和编程语言之间进行数据交换和通信 , 有以下特点 :

  • 简单易读 : JSON格式简单,易于阅读和编写,也易于机器解析和生成 ;
  • 跨平台兼容 : JSON可以在不同的操作系统、编程语言和平台之间进行数据交换,具有良好的跨平台兼容性 ;
  • 不依赖特定编程语言 : JSON是一种独立于编程语言的格式,可以在不同的编程语言之间进行数据交换和通信 ;
  • 易于处理 : JSON数据可以直接在HTTP请求和响应中传输,可以在Web应用程序中进行数据交换和通信 ;
更多推荐

排序算法-快速排序

属性快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法,其基本思想为:任取待排序元素序列中的某元素作为基准值,按照该排序码将待排序集合分割成两子序列,左子序列中所有元素均小于基准值,右子序列中所有元素均大于基准值,然后最左右子序列重复该过程,直到所有元素都排列在相应位置上为止。.1.快速排序整体的综合性

设计模式:享元模式

目录组件代码实现源码中使用总结享元模式(FlyweightPattern)是一种结构型设计模式,它旨在通过共享对象来最大程度地减少内存使用和提高性能。享元模式通过共享细粒度的对象,以有效地支持大量细粒度的对象实例。在享元模式中,对象分为两种类型:内部状态(IntrinsicState)和外部状态(ExtrinsicSt

ArmSoM-W3之RK3588 Debian11详解

1.简介RK3588从入门到精通Debian是⼀种完全⾃由开放并⼴泛⽤于各种设备的Linux操作系统。Rockchip在官⽅Debian发⾏版的基础上构建和适配了相关硬件功能2.环境介绍硬件环境:ArmSoM-W3RK3588开发板软件版本:OS:ArmSoM-W3Debian113.Debian目录结构debian├

Ae 效果:CC Mr. Mercury

模拟/CCMr.MercurySimulation/CCMr.MercuryCCMr.Mercury(CC水银先生)主要用于创建类似水银等液态金属或油漆等的动态效果。CCMr.Mercury本质上模拟一个发射水银粒子的椭圆形发生器,基于源图像的像素创建自带动画的效果,范围限制在图层大小范围内。◆◆◆效果属性说明Radi

Git学习笔记9

Gitlab中的代码是要部署到生产服务器上。CI:Continuousintegration简称CI:是一种软件开发实践,即开发团队成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化构建(包括编译、发布、自动化测试)来验证,从而尽快地发现集成中的错误。构建:对代

怎样才能让百度搜索到自己的博客?--九五小庞

怎么把自己的博客推荐到百度、Google等主要搜索引擎?如果不把你的博客提交到各大搜索引擎中,它们一般是不会收录你的博客的,你可以先尝试一下看看能不能在百度搜到你的博客吧。如果搜不到的话说明你的博客还没有被百度收录,那么怎么才能被百度、google等各大搜索引擎收录你的博客呢?申请免费加入搜索引擎啦!一般百度在48小时

Vue的详细教程--基础语法【上】

🥳🥳WelcomeHuihui'sCodeWorld!!🥳🥳接下来看看由辉辉所写的关于Vue的相关操作吧目录🥳🥳WelcomeHuihui'sCodeWorld!!🥳🥳一.插值1.文本2.html3.属性&class绑定&style绑定4.表达式二.指令1.v-if&v-else&v-else-if2.

mySQL 安装

一、windows安装包下载mysql官网提供了两种安装方式,一个是zip安装,另一个是msi安装,这里简绍第一种安装方式,第二种简单,不再简绍官网下载,根据自己需要选择版本:MySQL::MySQLCommunityDownloads这里我选择的是5.7版本二、安装文件1.解压到非中文、非特殊字符路径下2.将bin目

【支持M1】MacDroid for Mac:Mac和Android安卓设备数据互通

Mac和Android组合始终存在的唯一问题是无法在这些设备之间足够快地传输数据,但是MacDroidformac填补了这一空白。MacDroidmac版是Macos上一款安卓手机数据传输助手,MacDroidmac下载支持Mac和Android设备之间传输照片,视频,音乐和文件夹。不需要特殊的电缆或复杂的解决方案,只

【QT开发(5)】0919-QT里面新增ui类,新增使用opencv读取图片的普通类,在ui类中显示图片

参考资料1、QtCreator快速入门_第三版__霍亚飞编著2、《Qt+OpenCV显示图片(Mat转QImage然后显示在QLabel上)》输出材料https://gitee.com/hiyanyx/qt5.14-cpp_-empty_-project/tree/508435b09ff1f794e650cba859b

关于 firefox 不能访问 http 的解决

情景:我在虚拟机192.168.x.111上配置了DNS服务器,在kali上设置192.168.x.111为DNS服务器后,使用firefox地址栏搜索域名www.xxx.com,访问在192.168.x.111搭建的网站,本来经192.168.x.111DNS服务器解析后,应该访问的是http://www.xxx.c

热文推荐