Python JSON 使用指南:解析和转换数据

这篇博客介绍了Python中处理JSON数据的方法,包括使用json模块的loads()和dumps()函数进行JSON到Python对象及反之的转换。还讨论了不同Python数据类型对应的JSON等价对象,以及如何通过参数调整输出的格式。

JSON 是一种用于存储和交换数据的语法。JSON 是文本,使用 JavaScript 对象表示法编写。

Python 中的 JSON
--------------在这里插入图片描述

Python 有一个内置的 json 包,可用于处理 JSON 数据。

示例:导入 json 模块:

import json

解析 JSON - 从 JSON 转换为 Python

如果您有一个 JSON 字符串,可以使用 json.loads() 方法来解析它。结果将是一个 Python 字典。

示例:从 JSON 转换为 Python:

import json  
  
# 一些 JSON:  
x = '{ "name":"John", "age":30, "city":"New York"}'  
  
# 解析 x:  
y = json.loads(x)  
  
# 结果是一个 Python 字典:  
print(y["age"])

从 Python 转换为 JSON

如果您有一个 Python 对象,可以使用 json.dumps() 方法将其转换为 JSON 字符串。

示例:从 Python 转换为 JSON:

import json  
  
# 一个 Python 对象(字典):  
x = {  
  "name": "John",  
  "age": 30,  
  "city": "New York"  
}  
  
# 转换为 JSON:  
y = json.dumps(x)  
  
# 结果是一个 JSON 字符串:  
print(y)

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

  • • dict(字典)

  • • list(列表)

  • • tuple(元组)

  • • string(字符串)

  • • int(整数)

  • • float(浮点数)

  • • True(真)

  • • False(假)

  • • None(空)

示例:将 Python 对象转换为 JSON 字符串,并打印值:

import json  
  
print(json.dumps({"name": "John", "age": 30}))  
print(json.dumps(["apple", "bananas"]))  
print(json.dumps(("apple", "bananas")))  
print(json.dumps("hello"))  
print(json.dumps(42))  
print(json.dumps(31.76))  
print(json.dumps(True))  
print(json.dumps(False))  
print(json.dumps(None))

当您从 Python 转换为 JSON 时,Python 对象将被转换为 JSON(JavaScript)等效对象:

Python JSON

dict 对象(Object)

list 数组(Array)

tuple 数组(Array)

str 字符串(String)

int 数字(Number)

float 数字(Number)

True true

False false

None null

示例:将包含所有合法数据类型的 Python 对象转换为 JSON 字符串:

import json  
  
x = {  
  "name": "John",  
  "age": 30,  
  "married": True,  
  "divorced": False,  
  "children": ("Ann","Billy"),  
  "pets": None,  
  "cars": [  
    {"model": "BMW 230", "mpg": 27.5},  
    {"model": "Ford Edge", "mpg": 24.1}  
  ]  
}  
  
print(json.dumps(x))

格式化结果,上面的示例打印了一个 JSON 字符串,但它不太容易阅读,没有缩进和换行。json.dumps() 方法具有参数,以使结果更易阅读:

示例:使用 indent 参数来定义缩进的数量:

json.dumps(x, indent=4)

您还可以定义分隔符,默认值为 (", ", ": "),这意味着使用逗号和空格来分隔每个对象,使用冒号和空格来分隔键和值:

示例:使用 separators 参数来更改默认分隔符:

json.dumps(x, indent=4, separators=(". ", " = "))

对结果进行排序,json.dumps() 方法具有参数,可以对结果中的键进行排序:

示例:使用 sort_keys 参数来指定结果是否应按键排序:

json.dumps(x, indent=4, sort_keys=True)
---------------------------END---------------------------

题外话

当下这个大数据时代不掌握一门编程语言怎么跟的上时代呢?当下最火的编程语言Python前景一片光明!如果你也想跟上时代提升自己那么请看一下.

在这里插入图片描述

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。


👉优快云大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述

👉优快云大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

若有侵权,请联系删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值