JSON在Python中的使用介绍

JSON在Python中的使用介绍

相关学习推荐:python视频

JSON介绍

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition – December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理想的数据交换语言。

JSON的两种结构

“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。

值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

立即学习“Python免费学习笔记(深入)”;

JSON在Python中的使用

在Python中操作JSON时需要引入json标准库。

import json

类型转换

Python类型转JSON:

json.dump()

#1.Python的dict类型转JSON
person_dict = {‘name’: ‘pig’, ‘age’: 18, ‘sex’: ‘man’, ‘hometown’: ‘江西抚州’}

indent参数为缩进空格数

person_dict_json = json.dumps(person_dict, indent=4)print(person_dict_json, ‘’)

2.Python的列表类型转JSON

person_list = [‘pig’, 18, ‘man’, ‘江西抚州’]person_list_json = json.dumps(person_list)print(person_list_json, ‘’)

3、Python的对象类型转JSON

person_obj = Person(‘pig’, 18, ‘man’, ‘江西抚州’)

中间的匿名函数是获得对象所有属性的字典形式

person_obj_json = json.dumps(person_obj, default=lambda obj: obj.dict, indent=4)print(person_obj_json, ‘’)

JSON转Python类型:

json.loads()

4、JSON转Python的dict类型

person_json = ‘{ “name”: “pig”,”age”: 18, “sex”: “man”, “hometown”: “江西抚州”}’
person_json_dict = json.loads(person_json)print(type(person_json_dict), ‘’)

5、JSON转Python的列表类型

person_json2 = ‘[“pig”, 18, “man”, “江西抚州”]’
person_json_list = json.loads(person_json2)print(type(person_json_list), ‘’)

6、JSON转Python的自定义对象类型

person_json = ‘{ “name”: “pig”,”age”: 18, “sex”: “man”, “hometown”: “江西抚州”}’

object_hook参数是将dict对象转成自定义对象

person_json_obj = json.loads(person_json, object_hook=lambda d: Person(d[‘name’], d[‘age’], d[‘sex’], d[‘hometown’]))print(type(person_json_obj), ‘’)

Python和JSON数据类型对应表

JSON Python

objectdictarrayliststringstrnumberint,long,floattrue,falseTrue,FalsenullNone

需要注意的点

JSON的键名和字符串都必须使用双引号引起来,而Python中单引号也可以表示为字符串,所以这是个比较容易犯的错误!

Python类型与JSON相互转换的时候到底是用load/dump还是用loadsdumps?

不加s的方法入参多了一个fp表示filepath,最后多了一个写入文件的操作。

所以我们在记忆的时候可以这样记忆:

加s表示转成字符串(str),不加s表示转成文件。

相关推荐:编程视频课程

以上就是JSON在Python中的使用介绍的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2248151.html

(0)
上一篇 2025年2月26日 22:49:02
下一篇 2025年2月18日 10:29:08

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 使用Python 搭建自己的区块链

    【相关学习推荐:python教程】 你是否会和我一样,对加密数字货币底层的区块链技术非常感兴趣,特别想了解他们的运行机制。 但是学习区块链技术并非一帆风顺,我看多了大量的视频教程还有各种课程,最终的感觉就是真正可用的实战课程太少。 我喜欢在…

    2025年2月26日 编程技术
    200
  • python如何产生10个不同的随机数

    python产生10个不同随机数的方法:首先创建一个result的结果空列表;然后循环直到result的长度超过10退出循环,循环里面随机生成一个1-10之间的数;最后查看生成的num随机数是否在result列表里,不在就添加进去。 【相关…

    2025年2月26日 编程技术
    200
  • 关于Pyzmq介绍

    【相关学习推荐:python教程】 Pyzmq介绍 ZMQ (以下 ZeroMQ 简称 ZMQ)是一个简单好用的传输层,像框架一样的一个 socket library,他使得 Socket 编程更加简单、简洁和性能更高。 是一个消息处理队列…

    2025年2月26日
    200
  • python如何随机读取目录文件

    python随机读取目录文件的方法是使用python的模块【random argparse shutil】读取即可,其代码语句为【for x in os.listdir(path),if x.endswith(‘jpg&#821…

    2025年2月26日
    200
  • 聊聊Python装饰器

    【相关学习推荐:python教程】 装饰器 本质是一个接受参数为函数的函数。作用:为一个已经实现的方法添加额外的通用功能,比如日志记录、运行计时等。 举例 不带参数的装饰器,不用@ # 不带参数的装饰器def deco_test(func)…

    2025年2月26日
    200
  • 如何查看python版本

    查看python版本的方法:首先将python的安装路径添加到环境变量;然后按【win+R】键打开运行;接着输入【cmd】;最后在命令提示符后输入“python”并按回车键即可查看python版本。 推荐:《python教程》 方法一:通过…

    2025年2月26日 编程技术
    200
  • 监控python logcat关键字

    相关学习推荐:python教程 本文主要介绍使用Python调用ADB命令实现实时监控logcat关键字的功能 采用多进程,可同时监控多个设备,监控多个关键字。 需要配置ADB环境,具体配置就不多介绍,随便搜一下一大把,直接上代码 通过一个…

    2025年2月26日
    200
  • Python 的二元算术运算详解

    相关学习推荐:python教程 大家对我解读属性访问的博客文章反应热烈,这启发了我再写一篇关于 Python 有多少语法实际上只是语法糖的文章。在本文中,我想谈谈二元算术运算。 具体来说,我想解读减法的工作原理:a – b。我故…

    2025年2月26日
    200
  • 详解增强算术赋值“-=”操作

    相关学习推荐:python教程 序言 本文是 python语法糖 系列文章之一。最新的源代码可以在 desugar 项目中找到(github.com/brettcannon… 介绍 Python 有一种叫做增强算术赋值(augmented …

    2025年2月26日
    200
  • 详细讲解 Python实现对图像进行掩膜遮罩处理

    相关学习推荐:python教程 图像掩模(image mask):用选定的图像、图形或物体,对待处理的图像(局部或全部)进行遮挡来控制图像处理的区域或处理过程。由于覆盖的特定图像或物体称为掩模(mask),在做图像处理的时候,对图像进行遮罩…

    2025年2月26日 编程技术
    200

发表回复

登录后才能评论