python 追加到字典_使用Python读取,写入和解析JSON

JSON是用于数据交换的轻量级数据格式,可以很容易地被人类读取和写入,也可以由机器轻松解析和生成。它是一种完全独立于语言的文本格式。为了处理JSON数据,Python有一个名为的内置包json

示例: 
s ='{“ id”:01,“ name”:“ Emily”,“ language”:[“ C ++”,“ Python”]}'

JSON的语法被视为JavaScript语法的子集,包括以下内容:

  • 名称/值对:代表数据,名称后跟':'(冒号),名称/值对以逗号分隔。

  • 大括号:容纳对象。

  • 方括号:保留由(,)分隔的值的数组。

键/名称必须是带双引号的字符串,值必须是以下类型的数据类型:

  • Str

  • 列表

  • 对象(JSON对象)

  • 数组

  • 布尔型

  • 空值

例: {   “员工”:[      {         “ id”:“ 01”,         “ name”:“ Amit”,         “部门”:“销售”      },      {         “ id”:“ 04”,         “ name”:“ sunil”,         “部门”:“ HR”      }   ]}

解析JSON(从JSON转换为Python)

json.loads() 方法可以解析json字符串,结果将是Python字典。

句法:

json.loads(json_string)

例:

# Python program to convert JSON to Python     import json   # JSON string employee ='{"id":"09", "name": "Nitin", "department":"Finance"}'  # Convert string to Python dict employee_dict = json.loads(employee) print(employee_dict)   print(employee_dict['name']) 

输出:

{'id':'09','部门':'财务','名称':'Nitin'}尼丁

Python读取JSON文件

json.load()方法可以读取包含JSON对象的文件。考虑一个名为employee.json的文件,其中包含一个JSON对象。

句法:

json.load(file_object)

示例:假设JSON如下所示。

1446b8c0aa378fff64eb69bb4ab235dc.png

我们想读取该文件的内容。下面是实现。

# Python program to read # json file       import json    # Opening JSON file f = open('data.json',)    # returns JSON object as  # a dictionary data = json.load(f)    # Iterating through the json # list for i in data['emp_details']:     print(i)    # Closing file f.close()

输出:

575118341dc013bafa621fce1e456c04.png

在这里,我们已使用该open()函数读取JSON文件。然后,使用json.load()提供给我们一个名为data的字典的方法来解析文件。

从Python转换为JSON

json.dumps() 方法可以将Python对象转换为JSON字符串。

句法:

json.dumps(dict,indent)

它带有两个参数:

  • dictionary –字典的名称,应将其转换为JSON对象。

  • 缩进–定义缩进单位数

# Python program to convert # Python to JSON       import json    # Data to be written dictionary ={   "id": "04",   "name": "sunil",   "depatment": "HR"}    # Serializing json  json_object = json.dumps(dictionary, indent = 4) print(json_object)

输出:

{    “部门”:“ HR”,    “ id”:“ 04”,    “名称”:“ sunil”}

可以将以下类型的Python对象转换为JSON字符串:

  • 字典

  • 列表

  • 元组

  • 字符串

  • 整型

  • 浮动

  • True

  • False

  • NUll

Python对象及其等效的JSON转换:

068129ad2a2665a3c481d3bb011c7bd5.png

将JSON写入文件

json.dump() 方法可用于写入JSON文件。

句法:

json.dump(dict,file_pointer)

它包含2个参数:

  • dictionary –字典的名称,应将其转换为JSON对象。

  • 文件指针–在写入或追加模式下打开的文件的指针

# Python program to write JSON # to a file       import json    # Data to be written dictionary ={     "name" : "sathiyajith",     "rollno" : 56,     "cgpa" : 8.6,     "phonenumber" : "9976770500"}    with open("sample.json", "w") as outfile:     json.dump(dictionary, outfile)

输出:

e8150e1af92d3f1cfa0ab874edca373f.png

上面的程序使用“ w”以写入模式打开一个名为sample.json的文件。如果文件不存在,将创建该文件。Json.dump()会将字典转换为JSON字符串,并将其保存在文件sample.json中。

推荐阅读
  • 在Python中初始化:您需要了解的一切

  • 建立数据驱动,关键字驱动和混合Selenium框架这些你了解吗

  • 如何在Selenium WebDriver中查找元素?(二)

  • 如何在Selenium WebDriver中查找元素?(一)

  • python之函数基础

  • python接口测试—get请求

5877e9842e1608890e24384045ca1804.gif

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

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

相关文章

couchbase_适用于具有Couchbase和WildFly的多容器和多主机应用程序的Docker Machine,Swarm和Compose...

couchbase该博客将说明如何使用Docker创建部署在多个主机上的多容器应用程序。 这将使用Docker Machine,Swarm和Compose实现。 是的,这三个工具一起使这个博客变得更加有趣! 该图说明了关键组件: Docker Machine用于配置多个D…

云服务器可以文件服务器,云服务器 可以上传文件

云服务器 可以上传文件 内容精选换一换安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器。例如QQ.exe。在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器。例如QQ.exe。本地磁盘映射(推荐使…

机智云代码移植_IoT开发者 | 基于STM32F103的机智云宠物屋外加4路继电器开源教程...

[ 写在前面 ]自智云社区开辟IoT开源项目专区以来,一直有IoT开发者在贡献案例。玛莉甄选了一些具有代表性的案例分享给IoT爱好者们,本文亦如此。若你有好的案例,想和IoT爱好者们分享,欢迎投稿,一经采纳,我们…

drools。drools_Drools:fireAllRules,fireUntilHalt和Timers内部代码清理的详细说明

drools。drools在六月,我们在博客上发布了一个新的内部状态机,用于管理用户,计时器和引擎线程之间的交互。 现在,我们对该代码进行了另一次大的内部清理,以使其更易于阅读和理解。 如前所述,所有操作&…

云服务器文件打包,云服务器文件打包

云服务器文件打包 内容精选换一换Winscp无法连接到服务器。SSH连接工具例如Xshell可以正常连接云服务器。其他SSH工具连接云服务器正常,但是Winscp无法连接到服务器。说明SSH服务是没有问题的,Winscp连接基于的是SFTP协议。查看/etc/ssh/sshd_config文件…

完全复制一个dict_Redis主从复制getshell技巧

Redis未授权漏洞常见的漏洞利用方式:Windows下,绝对路径写webshell 、写入启动项。Linux下,绝对路径写webshell 、公私钥认证获取root权限 、利用contrab计划任务反弹shell。基于Redis主从复制的机制,可以完美无损的将文件同步到…

关于select中fd_set变量的一些通俗宏解释

FD_ZERO(fd_set*fdset) 将fd_set变量的所有位初始化为0; FD_SET(int fd,fd_set*fdset) 在参数fdset指向的变量中注册文件描述符fd的信息 FD_CLR(int fd,fd_set*fdset) 在参数fdset指向的变量中清除文件描述符fd的信息 FD_ISSET(int fd,fd_set*fds…

pcl_openmap_OpenMap教程3 –使用MapHandler构建基本的地图应用程序–第2部分

pcl_openmap1.简介 在上一教程中,我们了解了MapHandler如何将各种组件连接在一起(更具体地说,是从MapHandlerChild派生的类)。 我们看到了如何以编程方式执行此操作,但是还有另一种声明性地使用openmap.properties 。 …

文件服务器缓存加速,存储缓存为文件传输提速

存储缓存为文件传输提速本文首次刊登于《网络世界》。著作权&复制权属于《网络世界》。保留所有权利。 一种新型产品实现了WAN上的文件缓存,使以LAN速度长距离存取数据成为可能。存储缓存设备消除了通常困扰远程文件共享的延迟难题。 在当前的办公室环境…

xy轴坐标图数字表示_【相机标定】四个坐标系之间的变换关系

点击上方“新机器视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达世界坐标系,相机坐标系,图像物理坐标系,像素坐标系之间的关系:首先看下几个坐标系在放在一块的样子:1&#xff…

完全二叉树基本操作(不含遍历)

/*准备数据*/#define MANLEN 20 //最大长度 typedef char DATA; //定义元素类型 typedef struct CBT //定义二叉树结点类型 {DATA data; //元素数据struct CBT* left; //左子树结点指针struct CBT* r…

1.0jpa 2.0_Java EE 7之前版本替代JPA 2.1非同步持久性上下文

1.0jpa 2.0Java EE 7中的非同步持久性上下文 JPA 2.1引入了非同步持久性上下文的概念,该概念允许对JPA实体管理器的刷新进行细粒度控制,即通过显式调用EntityManager#joinTransaction 。 以前,这默认情况下是JTA事务的结束&#x…

算法:删除顺序表中重复的元素

//删除数组中重复的元素 //思路&#xff1a;通过起始位置的元素&#xff0c;逐个和后面的元素进行比较&#xff0c;找到相同的元素后执行删除操作。没有发现执行第二次循环void purge(int a[], int len) {int i 0, j;while (i<len) //从数组开始第一个位置开始循环{j …

设计模式的Java 8 Lambda表达式-策略设计模式

策略模式定义封装在通常称为Context的驱动程序类中的一系列算法&#xff0c;并使这些算法可互换。 它使算法易于互换&#xff0c;并提供了在特定时间选择适当算法的机制。 算法&#xff08;策略&#xff09;在运行时由客户端或上下文选择。 在与客户端交互期间&#xff0c;Con…

调用打印机_涨知识|你不知道的关于打印机的打印过程和打印机驱动的那些事...

以前一直以为打印很简单&#xff0c;不就是编辑好文件按个“打印”就行了&#xff1f;但其实打印过程可以复杂到你分分钟“怀疑人生”。你以为的打印过程可能是这样的 ↓。我们看到的打印过程然而&#xff0c;真正的打印过程是这样的 ↓。实际上的打印过程打印机打印一页文件或…

String大小转换函数

transform(s1.begin(), s1.end(), s1.begin(), toupper); 小写变大写transform(s1.begin(), s1.end(), s1.begin(), tolower); 大写变小写

kite 使用 go_使用Apache Storm和Kite SDK Morphlines的可配置ETL处理

kite 使用 go从我担任软件工程师的第一天起&#xff0c;我总是听到很多方面的相同要求&#xff1a; “ 我们希望所有内容都可配置&#xff0c;我们希望在运行时更改所有内容&#xff0c;我们希望有一个可视化工具来应用所有这些逻辑&#xff0c;以便非开发人员使用和配置我们的…

使用react实现select_使用 Hooks 优化 React 组件

奇技指南本文内容主要是我之前分享的文字版&#xff0c;若想看重点的话可以看之前的Slide: https://ppt.baomitu.com/d/75fc979a本文作者奇舞团前端开发工程师李喆明。需求描述由于作者所在的业务是资讯内容类业务&#xff0c;因而在业务中会经常碰到如下场景&#xff1a;有一个…

Windows内存修改初篇

​ #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <windows.h>BOOL FindFirst(DWORD dwValue);//对目标进程空间进行查找 BOOL FindNext(DWORD dwValue);//对目标空间进行2&#xff0c;3&#xff0c;4。。查找//查找数据的地址列表 DWORD g_arList…

斐波那契实现阶乘js_功能与命令式编程。 Java 8中的斐波那契,素数和阶乘

斐波那契实现阶乘js有多种编程风格/范例&#xff0c;但是两个著名的风格是Imperative和Functional 。 命令式编程是最主要的范例&#xff0c;因为几乎所有主流语言&#xff08;C &#xff0c;Java&#xff0c;C&#xff03;&#xff09;都在推广它。 但是在最近几年中&#xf…