首页 > 编程语言 >【Python技术学习】- python JSON 数据解析

【Python技术学习】- python JSON 数据解析

时间:2024-09-03 12:22:44浏览次数:15  
标签:www name Python json python JSON url

JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。

Python3 中可以使用 json 模块来对 JSON 数据进行编解码,它包含了两个函数:

  • json.dumps(): 对数据进行编码。
  • json.loads(): 对数据进行解码。

在 json 的编解码过程中,Python 的原始类型与 json 类型会相互转换,具体的转化对照如下:

Python 编码为 JSON 类型转换对应表:

PythonJSON
dictobject
list, tuplearray
strstring
int, float, int- & float-derived Enumsnumber
Truetrue
Falsefalse
Nonenull

JSON 解码为 Python 类型转换对应表:

JSONPython
objectdict
arraylist
stringstr
number (int)int
number (real)float
trueTrue
falseFalse
nullNone

json.dumps 与 json.loads 实例

以下实例演示了 Python 数据结构转换为JSON:

实例(Python 3.0+)

#!/usr/bin/python3 import json # Python 字典类型转换为 JSON 对象 data = { 'no' : 1, 'name' : 'Runoob', 'url' : 'https://www.runoob.com' } json_str = json.dumps(data) print ("Python 原始数据:", repr(data)) print ("JSON 对象:", json_str)

执行以上代码输出结果为:

Python 原始数据: {'no': 1, 'name': 'Runoob', 'url': 'https://www.runoob.com'}
JSON 对象: {"no": 1, "name": "Runoob", "url": "https://www.runoob.com"}

通过输出的结果可以看出,简单类型通过编码后跟其原始的repr()输出结果非常相似。

接着以上实例,我们可以将一个JSON编码的字符串转换回一个Python数据结构:

实例(Python 3.0+)

#!/usr/bin/python3 import json # Python 字典类型转换为 JSON 对象 data1 = { 'no' : 1, 'name' : 'Runoob', 'url' : 'http://www.runoob.com' } json_str = json.dumps(data1) print ("Python 原始数据:", repr(data1)) print ("JSON 对象:", json_str) # 将 JSON 对象转换为 Python 字典 data2 = json.loads(json_str) print ("data2['name']: ", data2['name']) print ("data2['url']: ", data2['url'])

执行以上代码输出结果为:

Python 原始数据: {'name': 'Runoob', 'no': 1, 'url': 'http://www.runoob.com'}
JSON 对象: {"name": "Runoob", "no": 1, "url": "http://www.runoob.com"}
data2['name']:  Runoob
data2['url']:  http://www.runoob.com

如果你要处理的是文件而不是字符串,你可以使用 json.dump() 和 json.load() 来编码和解码JSON数据。例如:

实例(Python 3.0+)

# 写入 JSON 数据 with open('data.json', 'w') as f: json.dump(data, f) # 读取数据 with open('data.json', 'r') as f: data = json.load(f)

标签:www,name,Python,json,python,JSON,url
From: https://blog.csdn.net/xiaoli8748/article/details/141795607

相关文章

  • python 设计出一套接口签名和验证
    需要app_id、secret需要提前准备好作为密钥生成签名函数importhmac,hashlib,jsondefgenerate_signature(http_method,uri_path,args,body,secret):"""生成签名的函数。:paramhttp_method:HTTP方法,例如"GET"或"POST":paramuri_path:......
  • python爬取音乐小工具
    importrequestscookies={'Hm_lvt_b8f2e33447143b75e7e4463e224d6b7f':'1725333776','HMACCOUNT':'15050700AD9FD996','Hm_lpvt_b8f2e33447143b75e7e4463e224d6b7f':'1725333791','mode':&......
  • Python正则表达式替换(sub)中如何使用替换函数
    defsub_the_chinese_colon_of_the_question_number(_lines:str)->str:""":param_lines:清理后的文本文件内容功能:查找并替换题号后的中文冒号为英文冒号。"""#定义替换函数,用于调用re.sub:defreplacement(match)->str:"&q......
  • python 数据分析 损失数值 如何放到csv中呢 人工智能 深度神经网络,Pytorch ,tensorflo
    损失数值如何放到csv中呢 在Python中,使用`csv`模块将数据写入CSV文件是一种常见的操作。从你提供的代码片段来看,你想要将损失数值写入名为`middle_losse.csv`的文件中。但是,你提供的代码片段中存在一些需要修改的地方,以确保数据能够正确地写入CSV文件。首先,`csv.writer`对象的`wr......
  • Python中,使用`sklearn.preprocessing`模块中的`StandardScaler`或`MinMaxScaler`可以
    在Python中,使用`sklearn.preprocessing`模块中的`StandardScaler`或`MinMaxScaler`可以对数据进行标准化或归一化处理。以下是如何对一个列表(list)中的数据进行标准化的示例:第一结合numpy###使用StandardScaler进行标准化(Z-scorenormalization)`StandardScaler`将数据转换为均值......
  • 述FunsorFunsor是一个类似张量的函数和分布库。概率规划的泛函张量获取系统描述 ppl,p
    项目描述FunsorFunsor是一个类似张量的函数和分布库。看见概率规划的泛函张量获取系统描述。安装使用pip安装:Funsor支持Python3.7+。pipinstallfunsor从源安装:[email protected]:pyro-ppl/funsor.gitcdfunsorgitcheckoutmasterpipinstall.使用funsorFunsor......
  • 基于python的物流企业资产管理系统的设计与实现---附源码89513
     摘 要本文介绍了一种基于Python的物流企业资产管理系统的设计与实现。随着物流行业的快速发展,资产的有效管理和监控变得尤为重要。本文首先分析了物流企业资产管理的需求,包括资产登记、报备、维修、采购等核心功能,并指出了现有系统的不足。在此基础上,我们提出了一个基......
  • 在Linux中使用C++调用Python程序
    为什么要用C++调Python我们训练部署CNN模型时,服务器用Pytorch测试的精度比我们部署端精度高0.5%。经过多方排查,发现是由于Pytorch预处理图片使用PIL进行图片读取和尺寸调整,但是部署端采用OpenCV进行图片读取和尺寸调整。两种实现方式实现的Resize操作差异非常大。为了快速完成项......
  • 【最新原创毕设】基于微信小程序的老年人健康医疗信息服务平台设计+24246(免费领源码)可
    摘 要老年人健康是社会关注的重点之一,随着我国人口老龄化程度的增加,老年人的健康问题逐渐凸显。为了更好地满足老年人的健康需求,提高医疗服务质量和效率,开发一个基于SpringBoot的老年人健康医疗信息服务平台是十分必要的。老年人健康医疗信息服务平台利用Java语言,通过spring......
  • 拒绝做工具小子—编写Python漏洞验证脚本_编写漏洞利用脚本
    前言我们实战经常会遇到以下几个问题:​1、遇到一个利用步骤十分繁琐的漏洞,中间错一步就无法利用​2、挖到一个通用漏洞,想要批量刷洞小赚一波,但手动去测试每个网站工作量太大这个时候编写一个poc脚本将会将会减轻我们很多工作。本文将以编写一个高效通用的poc脚本为目......