Python入门教程(二十八)Python中的JSON

 更新时间:2023年04月27日 10:06:00   作者:轻松学Python  
这篇文章主要介绍了Python入门教程(二十八)Python中的JSON,JSON 是用 JavaScript 对象表示法(JavaScript object notation)编写的文本,接下来我们就来学习一下

JSON 是用于存储和交换数据的语法。

JSON 是用 JavaScript 对象表示法(JavaScript object notation)编写的文本。

Python 中的 JSON

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

实例

导入 json 模块:

import json

解析 JSON - 把 JSON 转换为 Python

若有 JSON 字符串,则可以使用 json.loads() 方法对其进行解析。

结果将是 Python 字典

实例

把 JSON 转换为 Python:

import json

# 一些 JSON:
x =  '{ "name":"Bill", "age":63, "city":"Seatle"}'

# 解析 x:
y = json.loads(x)
# Python学习交流q群:708525271
# 结果是 Python 字典:
print(y["age"])

运行实例

把 Python 转换为 JSON

若有 Python 对象,则可以使用 json.dumps() 方法将其转换为 JSON 字符串。

实例

把 Python 转换为 JSON:

import json

# Python 对象(字典):
x = {
  "name": "Bill",
  "age": 63,
  "city": "Seatle"
}

# 转换为 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": "Bill", "age": 63}))
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 对象:

import json

x = {
  "name": "Bill",
  "age": 63,
  "married": True,
  "divorced": False,
  "children": ("Jennifer","Rory","Phoebe"),
  "pets": None,
  "cars": [
    {"model": "Porsche", "mpg": 38.2},
    {"model": "BMW M5", "mpg": 26.9}
  ]
}

print(json.dumps(x))

运行实例

格式化结果

上面的实例打印一个 JSON 字符串,但它不是很容易阅读,没有缩进和换行。

json.dumps() 方法提供了令结果更易读的参数:

实例

使用 indent 参数定义缩进数:

json.dumps(x, indent=4)

运行实例

python_json_from_python_indent.py:

import json

x = {
  "name": "Bill",
  "age": 63,
  "married": True,
  "divorced": False,
  "children": ("Jennifer","Rory","Phoebe"),
  "pets": None,
  "cars": [
    {"model": "Porsche", "mpg": 38.2},
    {"model": "BMW M5", "mpg": 26.9}
  ]
}

# use four indents to make it easier to read the result:
print(json.dumps(x, indent=4))

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

实例

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

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

运行实例

import json

x = {
  "name": "Bill",
  "age": 63,
  "married": True,
  "divorced": False,
  "children": ("Jennifer","Rory","Phoebe"),
  "pets": None,
  "cars": [
    {"model": "Porsche", "mpg": 38.2},
    {"model": "BMW M5", "mpg": 26.9}
  ]
}

# use . and a space to separate objects, and a space, a = and a space to separate keys from their values:
print(json.dumps(x, indent=4, separators=(". ", " = ")))

对结果排序

json.dumps() 方法提供了对结果中的键进行排序的参数:

实例

使用 sort_keys 参数来指定是否应对结果进行排序:

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

运行实例

import json

x = {
  "name": "Bill",
  "age": 63,
  "married": True,
  "divorced": False,
  "children": ("Jennifer","Rory","Phoebe"),
  "pets": None,
  "cars": [
    {"model": "Porsche", "mpg": 38.2},
    {"model": "BMW M5", "mpg": 26.9}
  ]
}

# sort the result alphabetically by keys:
print(json.dumps(x, indent=4, sort_keys=True))

到此这篇关于Python入门教程(二十八)Python中的JSON的文章就介绍到这了,更多相关Python中的JSON内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python制作数据导入导出工具

    Python制作数据导入导出工具

    正好最近在学习python,于是打算用python实现了数据导入导出工具,由于是新手,所以写的有些不完善的地方还请见谅
    2015-07-07
  • Python 多进程原理及实现

    Python 多进程原理及实现

    这篇文章主要介绍了Python 多进程原理及实现,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-12-12
  • python同时替换多个字符串方法示例

    python同时替换多个字符串方法示例

    这篇文章主要介绍了python同时替换多个字符串方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Python利用GDAL模块实现读取栅格数据并对指定数据加以筛选掩膜

    Python利用GDAL模块实现读取栅格数据并对指定数据加以筛选掩膜

    这篇文章主要为大家详细介绍了如何基于Python语言中gdal模块,对遥感影像数据进行栅格读取与计算,同时基于QA波段对像元加以筛选、掩膜的操作,需要的可以参考一下
    2023-02-02
  • Python更改pip镜像源的方法示例

    Python更改pip镜像源的方法示例

    这篇文章主要介绍了Python更改pip镜像源的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 利用Python计算KS的实例详解

    利用Python计算KS的实例详解

    这篇文章主要介绍了利用Python计算KS的实例详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Python实现自动玩连连看的脚本分享

    Python实现自动玩连连看的脚本分享

    最近女朋友在玩连连看,玩了一个星期了还没通关,真的是菜。实在是看不过去了,直接用python写了个脚本代码可以自动玩连连看,感兴趣的可以了解一下
    2022-04-04
  • Python实现http服务器(http.server模块传参 接收参数)实例

    Python实现http服务器(http.server模块传参 接收参数)实例

    这篇文章主要为大家介绍了Python实现http服务器(http.server模块传参 接收参数)实例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • python生成n个元素的全组合方法

    python生成n个元素的全组合方法

    今天小编就为大家分享一篇python生成n个元素的全组合方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • Pandas 合并多个Dataframe(merge,concat)的方法

    Pandas 合并多个Dataframe(merge,concat)的方法

    今天小编就为大家分享一篇Pandas 合并多个Dataframe(merge,concat)的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06

最新评论