python3安装json库-python库json快速入门

在本教程中,您将学习如何借助示例在Python中解析,读取和编写JSON。 此外,您将学习将JSON转换为dict并将其打印出来。

JSON简介

JSON (JavaScript Object Notation) 是一种用于表示结构化数据的流行数据格式。 常用于服务器和Web应用程序之间传输和接收数据。

在Python中,JSON以字符串形式表示。 例如:

p = "{"name": "Bob", "languages": ["Python", "Java"]}"

将JSON对象存储在文件中也很常见。

J在Python中解析JSON

使用json模块可以轻松解析包含JSON对象的JSON字符串和文件。

import json

person = "{"name": "http://china-testing.github.io/", "languages": ["English", "Fench"]}"

person_dict = json.loads(person)

# Output: {"name": "http://china-testing.github.io/", "languages": ["English", "Fench"]}

print( person_dict)

# Output: ["English", "French"]

print(person_dict["languages"])

执行结果

$ python3 test.py

{"name": "http://china-testing.github.io/", "languages": ["English", "Fench"]}

["English", "Fench"]

这里, person是JSON字符串, person_dict是字典

您可以使用json.load()方法读取包含JSON对象的文件。

假设您有名为person.json的文件,其中包含JSON对象

import json

with open("person.json") as f:

data = json.load(f)

# Output: {"languages": ["English", "Fench"], "name": "http://china-testing.github.io/"}

print(data)

我们使用open()函数来读取json文件。 然后,使用json.load()方法解析文件,该方法为我们提供了名为data的字典。

以使用json.dumps()方法将字典转换为JSON字符串。

import json

person_dict = {"name": "Bob",

"age": 12,

"children": None

}

person_json = json.dumps(person_dict)

# Output: {"name": "Bob", "age": 12, "children": null}

print(person_json)

json.dump()方法将JSON写入文件。

import json

person_dict = {"name": "Bob",

"languages": ["English", "Fench"],

"married": True,

"age": 32

}

with open("person.txt", "w") as json_file:

json.dump(person_dict, json_file)

参考资料

我们使用"w"以书写模式打开了一个名为person.txt的文件。 如果该文件尚不存在,则将创建该文件。 然后, json.dump()将person_dict转换为JSON字符串,该字符串将保存在person.txt文件中。

运行该程序时,将创建person.txt文件。 该文件中包含以下文本。

{"name": "Bob", "languages": ["English", "Fench"], "married": true, "age": 32}

要分析和调试JSON数据,我们可能需要以更易读的格式打印它。 这可以通过将其他参数indent和sort_keys给json.dumps()和json.dump()方法来完成。

import json

person_string = "{"name": "Bob", "languages": "English", "numbers": [2, 1.6, null]}"

# Getting dictionary

person_dict = json.loads(person_string)

# Pretty Printing JSON string back

print(json.dumps(person_dict, indent = 4, sort_keys=True))

运行程序时,输出将是:

{

"languages": "English",

"name": "Bob",

"numbers": [

2,

1.6,

null

]

}

在上面的程序中,我们使用了4空格来缩进。 并且,键按升序排序。缩进的默认值是None 。 并且, sort_keys的默认值为False 。

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

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

相关文章

python 常量 模块_Python字符串模块的有用常量

示例Python的string模块为与字符串相关的操作提供常量。要使用它们,请导入string模块:>>> import stringstring.ascii_letters:ascii_lowercase和的串联ascii_uppercase:>>> string.ascii_lettersabcdefghijklm…

PAT1132: Cut Integer

1132. Cut Integer (20) 时间限制400 ms内存限制65536 kB代码长度限制16000 B判题程序Standard作者CHEN, YueCutting an integer means to cut a K digits long integer Z into two integers of (K/2) digits long integers A and B. For example, after cutting Z 167334, we…

电脑字体模糊_小红书上传视频模糊?做小红书视频99%的工具都在这了

到现在小红书视频号功能已经上线快三个月了,越来越多的小伙伴开始拍视频、创作视频笔记,但是对于新接触视频的小伙伴来说,拍摄视频好像是一件很难的事,特别是不清楚该选择什么拍摄设备、不知道怎么剪辑视频,还有如何上…

Codeforces Gym101518H:No Smoking, Please(最小割)

题目链接 题意 给出一个n*m的酒店,每个点是一个房间,要将这个酒店的房间划分成为两块(一块无烟区,一块吸烟区),相邻的两个房间之间有一条带权边,权值代表空气锁的面积,如果把这条边给…

java如何实现服务降级_Hystrix服务降级

## 注意Hystrix默认的服务降级时长是1秒钟.因为网络波动,这个值在正式环境中需要调整一下.## 导入包~~~org.springframework.cloudspring-cloud-starter-netflix-hystrix2.0.1.RELEASE~~~## 启动类~~~package com.like;import org.springframework.boot.SpringApplication;impo…

谷歌浏览器不能上网_谷歌浏览器插件下载及安装教程!

emmm......这篇文章的内容非常小白,相信大部分人都会这个基本操作。但是阁主相信还有些妹子操作不来,如果还没有男朋友,那不是铁定不会安装谷歌浏览器插件么?其实“谷歌浏览器插件”这个组合,可以解决很多问题&#xf…

高级技巧之Lambda表达式

1.Lambda表达式简介 其本质上是一种匿名方法,它既没有方法名,也即没有访问修饰符和返回值类型,使用它来编写代码将会更加简洁,也更加易读。 2.使用该表达式需要配置的数据 3.传统java和使用Lambda表达式的对比 0)总结&…

java二维数组两个框代表什么_在java语言中,二维数组的两个中括号[][]分别表示()和()。...

【判断题】一元统计分析是研究一个随机变量统计规律的学科。【判断题】合伙创业的成功率一般低于独资创业的成功率。【单选题】镜检时呈“竹节状”排列的是【判断题】酵母菌的菌落与放线菌的菌落相似。【判断题】木纤维是厚壁细胞的一种,它的化学成份以纤维素为主。( )【判断题…

设计模式之——Builder建造模式

Builder模式又叫建造模式,是用于组装具有复杂结构的实例的模式。 示例程序是编写一个文档,并且写入到文件中,该文档具有以下结构,含有标题,字符串,一些条目。 Builder抽象类,为建造模式的核心pa…

java程序员_Java和Python的区别 好程序员帮大家解读

Java和Python的区别 好程序员今天先来解读Java编程语言的优势,人工智能和大数据火爆一时,随之而来,引起了编程语言的人气暴涨。而Java和Python作为最炙手可热的编程语言从一开始便赢得了众多程序员的青睐。凭借各自强大的性能和优势&#xff…

java 工具类sort_Java 通用排序工具类ListSortUtils

场景:Java 类 需 重新排序,有时升序、有时倒叙,有时是多字段排序代码:package GenericTest;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.util.Collections;import java.uti…

Centos 搭建 NFS

服务端yum -y install nfs-utils rpcbind chkconfig nfs on chkconfig rpcbind on mkdir -p /tmp/share chmod 600 /tmp/share vim /etc/exports /tmp/share 192.168.2.0/24(rw,no_root_squash,no_all_squash,sync) /tmp/share *(rw,no_root_squash,no_all_squash,sync) servic…

门户网站运营方案_网络营销方案涉及的工作内容有哪些

问:在公司从事网络营销推广工作,想问下要撰写网络营销方案,要涉及到哪些层面,工作内容有哪些呢?答:总的来说,网络营销方案涉及到:网站技术,市场营销,网络应用…

用宝塔本地搭建php,Windows系统如何使用宝塔面板一键快速搭建本地服务器环境(LNMP/LAMP)...

宝塔面板宝塔面板类似于wamp,xampp等一键集成环境。但是宝塔面板操作更简单,更新更快。个人建议使用宝塔替代wamp。(LNMP等环境不再赘述,请自行百度。建议使用LNMP环境,即NginxMySQLPHP环境)下载前往宝塔面板官网https://www.bt.c…

C# File类的操作

File类,是一个静态类,主要是来提供一些函数库用的。静态实用类,提供了很多静态的方法,支持对文件的基本操作,包括创建,拷贝,移动,删除和打开一个文件。File类方法的参量很多时候都是…

微信小程序动态点赞php,在微信小程序中如何实现点赞功能

这篇文章主要介绍了微信小程序基于本地缓存实现点赞功能的方法,涉及微信小程序界面布局、事件响应及缓存操作等相关实现技巧,需要的朋友可以参考下本文实例讲述了微信小程序基于本地缓存实现点赞功能的方法。分享给大家供大家参考,具体如下:wxml中的写法…

lstm需要优化的参数_LSTM的物理结构和一些细节

海晨威:一幅图真正理解LSTM的物理结构​zhuanlan.zhihu.com这个是网上看的最多的图了,但是在理解lstm的应用过程中的时候这个图带来了不少麻烦。展开之后实际的物理结构是这样的,1、2图同颜色的点代表了同一个东西;问题1&#xff…

OLED中的Demura

OLED作为一种电流型发光器件已越来越多地被应用于高性能显示中。由于它自发光的特性,与LCD相比,AMOLED具有高对比度、超轻薄、可弯曲等诸多优点。但是,亮度均匀性和残像仍然是它目前面临的两个主要难题,要解决这两个问题&#xff…

python的编程模式有哪两种_python程序的两种运行方式是什么

python程序的两种运行方式是什么 第一种方式:REPL 所谓REPL即read、eva、print、loop(读取、计算、打印、循环),实现REPL运行方式有以下两种: 1、IDLE( 集成开发环境或集成开发和学习环境)是Pyt…

对Linux命令od -tc -tx1的C语言程序实现myod-优化版

导语 自编od C语言实现版名为myod上个星期有一个初代版,链接- myod原版这星期的课上要求实现myod-系统调用版本,要求如下 1 参考教材第十章内容 2 用Linux IO相关系统调用编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能,注意XXX是文件…