首页 > 编程语言 >Python3 JSON 数据解析

Python3 JSON 数据解析

时间:2023-09-12 15:44:35浏览次数:54  
标签:cnblogs Python json url JSON 解析 Python3 name

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

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

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

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

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

PythonJSON
dict object
list, tuple array
str string
int, float, int- & float-derived Enums number
True true
False false
None null

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

JSONPython
object dict
array list
string str
number (int) int
number (real) float
true True
false False
null None

json.dumps 与 json.loads 实例

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

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

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

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

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

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

#!/usr/bin/python3
 
import json
 
# Python 字典类型转换为 JSON 对象
data1 = {
    'no' : 1,
    'name' : 'cnblogs',
    'url' : 'https://www.cnblogs.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 原始数据: {'no': 1, 'name': 'cnblogs', 'url': 'https://www.cnblogs.com'}
JSON 对象: {"no": 1, "name": "cnblogs", "url": "https://www.cnblogs.com"}
data2['name']:  cnblogs
data2['url']:  https://www.cnblogs.com

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

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

更多资料请参考:https://docs.python.org/3/library/json.html

 

标签:cnblogs,Python,json,url,JSON,解析,Python3,name
From: https://www.cnblogs.com/until/p/17696373.html

相关文章

  • wkt转换成geojson的代码
    安装及导入(在安装shapely之前一定要先安装geos)pipinstallgeospipinstallshapely下面是一个使用Python将WKT转换为GeoJSON的代码示例:importjsonfromshapely.wktimportloadswkt="POINT(1010)"shape=loads(wkt)geojson=json.dumps(shape.__geo_inter......
  • Android项目之JSON解析(3种解析技术详解)
    一、用Android原生技术解析JSON:特点:很麻烦,对于复杂的json数据解析很容易出错!(不推荐使用)1、解析JSON对象的API:JsonObjectJSONObject(String json);将Json字符串解析成Json对象;XxxgetXxx(Stringname);根据name在json对象中得到相应的value。示例代码:(1)获取或创建JSON数据(为了方便,这里......
  • 快解析内网穿透如何帮你轻松实现外网远程连接?
    外网相信大家多少了解一点,其实就是连接不同地区局域网,或者是城域网计算机通信的远程网,因此被称为广域网或者公网。在这个互联网信息时代,很多用户还是不知道怎么连接外网?外网远程桌面连接的步骤是怎样的?下文一起来了解一下。外网是什么意思?外网又被称为广域网,它可以连接极其大的物理......
  • ARP协议:地址解析协议
    ARP协议最早在1982年提出,并在RFC826中进行规范。其全称为AddressResolutionProtocol,即地址解析协议。在以太网中,一台主机要向另一台主机发送数据,必须知道目标主机的MAC地址。但在IP通信中,只知道目标主机的IP地址是不够的,还需要通过ARP协议将IP地址解析为对应的MAC地址。每台安装......
  • 亚马逊API接口解析,实现获得AMAZON商品详情
    要解析亚马逊API接口并实现获取亚马逊商品详情,你需要按照以下步骤进行操作:了解亚马逊开发者中心:访问亚马逊开发者中心,并了解相关的API文档、开发者指南和规定。注册开发者账号:在亚马逊开发者中心上注册一个开发者账号,并创建一个应用,获取到API权限。获取API密钥:为了使用亚马逊API接......
  • 使用json.dump(citys_data, f, ensure_ascii=False)写文件的时候,如果要写入汉字,则要指
    这个代码例子为获取链家网里所有的城市,然后将按照{省名:{市名:url},{市名:url}....}的方式importrequestsfromlxmlimportetreeimportjsondefget_all_city():url="https://www.lianjia.com/city/"#全国城市列表headers={'User-Agent':'Mozill......
  • 同时安装python2和python3的切换与配置
    windows环境下同时安装了python2和python3,通过命令行窗口运行python脚本:1、python调用py-2调用python2py-3调用python3python脚本需要在python2下运行,在脚本前加上,然后运行pyxxx.py#!python2python脚本需要在python3下运行,在脚本前加上,然后运行pyxxx.py#!python3......
  • 如何实现自己在家搭建全端口P2P穿透?快解析内网穿透
    对于有公网主机,有一定的操作能力,需要独立资源配置使用的,可以选择自行搭建内网映射服务。那么如何实现自己搭建全端口P2P穿透呢?下面为大家提供了不同场景下的不同方法,供大家使用时参考。SSH是一种安全的远程登录协议,可以通过SSH实现内网穿透。以下是关于如何使用SSH实现内网穿透的详......
  • Unity 性能优化之Shader分析处理函数 ShaderUtil.GetAvailableShaderCompilerPlatform
    Unity性能优化之Shader分析处理函数ShaderUtil.GetAvailableShaderCompilerPlatforms用法点击封面跳转到Unity国际版下载页面简介在Unity中,性能优化是游戏开发过程中非常重要的一环。其中,ShaderUtil.GetAvailableShaderCompilerPlatforms函数是一个内部函数,它可以帮助......
  • Unity 性能优化之Shader分析处理函数ShaderUtil.HasProceduralInstancing: 深入解析与
    Unity性能优化之Shader分析处理函数ShaderUtil.HasProceduralInstancing:深入解析与实用案例点击封面跳转到Unity国际版下载页面简介在Unity中,性能优化是游戏开发过程中非常重要的一环。其中,Shader的优化对于游戏的性能提升起着至关重要的作用。本文将深入解析Unity中的Sh......