从文本字符串中构造(提取)JSON的过程通常涉及解析字符串并将其转换为Python中的字典或列表对象。以下是一个基本的示例,展示了如何使用Python的内置库json
来完成这个任务:
import json
# 假设我们有一个JSON格式的文本字符串
json_string = '{"name": "John", "age": 30, "city": "New York"}'
# 使用json.loads()方法将字符串转换为Python字典
try:
data = json.loads(json_string)
print(data) # 输出: {'name': 'John', 'height': 180, 'city': 'New York'}
except json.JSONDecodeError as e:
print(f"JSON解析错误: {e}")
# 现在data变量是一个Python字典,我们可以像操作任何其他字典一样操作它
print(data['name']) # 输出: John
json
模块: 提供了将Python对象编码成JSON字符串(json.dumps()
),以及将JSON字符串解码成Python对象(json.loads()
)的功能。json.loads()
会抛出JSONDecodeError
异常。解决方法是确保字符串格式正确,或者在解析时使用try-except
块来捕获并处理异常。json.loads()
通常能够自动处理这些情况。在上面的示例代码中,我故意在打印data['name']
之后添加了一个不存在的键data['height']
。这将导致KeyError
异常。正确的代码应该是:
# 正确的代码示例
try:
print(data['height']) # 这将导致KeyError,因为'height'键不存在
except KeyError as e:
print(f"键错误: {e}")
或者,你可以先检查键是否存在:
if 'height' in data:
print(data['height'])
else:
print("键'height'不存在")
通过这种方式,你可以避免程序因为访问不存在的键而崩溃。
领取专属 10元无门槛券
手把手带您无忧上云