进阶——python——JSON 基本操作

简介: 进阶——python——JSON 基本操作

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它具有简洁、清晰的层次结构,易于阅读和编写,还可以有效的提升网络传输效率。Python 标准库的 json 模块可以用来处理 JSON 格式数据的基本操作。

json 模块主要提供了 dump、dumps、load、loads 方法对 JSON 数据进行编解码。

dumps

json 模块的 dumps 方法可以将 Python 对象转为 JSON 格式字符串,以字典格式为例,看个示例:

import json
d = {'id':'001', 'name':'张三', 'age':'20'}
j = json.dumps(d, ensure_ascii=False)
print(j)
{"id": "001", "name": "张三", "age": "20"}

我们发现上面的输出结果并不是格式化的 JSON,dumps 方法还可以对数据进行格式化,如下所示:

import json
d = {'id':'001', 'name':'张三', 'age':'20'}
j = json.dumps(d, ensure_ascii=False, sort_keys=True, indent=4, separators=(',', ': '))
print(j)
{
    "age": "20",
    "id": "001",
    "name": "张三"
}

当然,除了字典类型外,其他一些 Python 类型也可转成 JSON 格式的字符串,它们之间有对应关系如下所示:

Python  JSON
dict  object
list, tuple array
str string
iint, float, int 和 float 派生的枚举  number
True  true
False false
None  null

再来看一下如何将 JSON 数据写入文件:

import json
d = {'id':'001', 'name':'张三', 'age':'20'}
j = json.dumps(d, ensure_ascii=False, sort_keys=True, indent=4, separators=(',', ': '))
with open('test.json', 'w', encoding='utf-8') as f:
    f.write(j)

dump

json 模块的 dump 方法可以将 Python 对象序列化为 JSON 格式化流形式的文件类对象。

如果我们需要将数据写到文件里的时候,dump 方法会比 dumps 方法方便一点,看一下示例:

import json
d = {'id':'001', 'name':'张三', 'age':'20'}
with open('test.json', 'w', encoding='utf-8') as f:
    json.dump(d, f, indent=4, ensure_ascii=False)

如果我们需要的数据格式为 JSON 格式字符串时,比如:将数据存入数据库,这时则需要用 dumps 方法。

loads

json 模块的 loads 方法可以将 JSON 格式数据转为 Python 对象,看个示例:

import json
j = '{"id":"001", "name":"张三", "age":"20"}'
d = json.loads(j)
print(d)
{'id': '001', 'name': '张三', 'age': '20'}
JSON  Python
object  dict
array list
string  str
number (int)  int
number (real) float
true  True
false False
null  None

我们再来读取一下之前生成的 test.json 中数据并将其转为 Python 对象,如下所示:

import json
with open('test.json', encoding='utf-8') as f:
    data = f.read()
    print(json.loads(data))
{'id': '001', 'name': '张三', 'age': '20'}

load

json 模块的 load 方法将文件类对象转为 Python 对象,看个示例:

import json
with open('test.json', encoding='utf-8') as f:
    print(json.load(f))
{'id': '001', 'name': '张三', 'age': '20'}


相关文章
|
2月前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
2月前
|
JSON API 数据安全/隐私保护
Python采集淘宝拍立淘按图搜索API接口及JSON数据返回全流程指南
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。
|
5月前
|
JSON API 数据格式
Python采集京东商品评论API接口示例,json数据返回
下面是一个使用Python采集京东商品评论的完整示例,包括API请求、JSON数据解析
|
5月前
|
存储 JSON API
Python与JSON:结构化数据的存储艺术
Python字典与JSON格式结合,为数据持久化提供了便捷方式。通过json模块,可轻松实现数据序列化与反序列化,支持跨平台数据交换。适用于配置管理、API通信等场景,兼具可读性与高效性,是Python开发中不可或缺的数据处理工具。
221 0
|
2月前
|
JSON 算法 API
Python中的json模块:从基础到进阶的实用指南
本文深入解析Python内置json模块的使用,涵盖序列化与反序列化核心函数、参数配置、中文处理、自定义对象转换及异常处理,并介绍性能优化与第三方库扩展,助你高效实现JSON数据交互。(238字)
388 4
|
2月前
|
XML JSON 数据处理
超越JSON:Python结构化数据处理模块全解析
本文深入解析Python中12个核心数据处理模块,涵盖csv、pandas、pickle、shelve、struct、configparser、xml、numpy、array、sqlite3和msgpack,覆盖表格处理、序列化、配置管理、科学计算等六大场景,结合真实案例与决策树,助你高效应对各类数据挑战。(238字)
204 0
|
3月前
|
JSON API 数据安全/隐私保护
Python采集淘宝评论API接口及JSON数据返回全流程指南
Python采集淘宝评论API接口及JSON数据返回全流程指南
|
4月前
|
JSON 安全 API
Python处理JSON数据的最佳实践:从基础到进阶的实用指南
JSON作为数据交换通用格式,广泛应用于Web开发与API交互。本文详解Python处理JSON的10个关键实践,涵盖序列化、复杂结构处理、性能优化与安全编程,助开发者高效应对各类JSON数据挑战。
336 1
|
9月前
|
XML JSON API
淘宝商品详情API的调用流程(python请求示例以及json数据示例返回参考)
JSON数据示例:需要提供一个结构化的示例,展示商品详情可能包含的字段,如商品标题、价格、库存、描述、图片链接、卖家信息等。考虑到稳定性,示例应基于淘宝开放平台的标准响应格式。
|
10月前
|
数据采集 JSON 测试技术
如何在Python中高效实现CSV到JSON的数据转换
在实际项目中,数据格式转换是常见问题,尤其从CSV到JSON的转换。本文深入探讨了多种转换方法,涵盖Python基础实现、数据预处理、错误处理、性能优化及调试验证技巧。通过分块处理、并行处理等手段提升大文件转换效率,并介绍如何封装为命令行工具或Web API,实现自动化批量处理。关键点包括基础实现、数据清洗、异常捕获、性能优化和单元测试,确保转换流程稳定高效。
503 83