如何提取嵌套在字符串型字典列表中的URL值?
提取嵌套在字符串中的URL值方法
你的问题核心是:目标URL所在的value字段内容是JSON格式的字符串,不是原生的Python列表/字典,所以用strip()这种处理普通字符串的方法根本没法提取内部的url字段,得用JSON解析工具把字符串转成可操作的数据结构。
具体操作步骤和代码示例:
- 导入Python内置的
json模块,专门用来处理JSON格式的数据转换 - 先从原始数据中取出那个嵌套的字符串
- 用
json.loads()把字符串转换成Python列表对象 - 从列表的第一个字典元素中提取
url值
import json # 原始数据结构 raw_data = {"content":{"custom1":[ { "value":"[{\"id\":\"123\",\"name\":\"John\",\"url\":\"https://www.data.com/\"}]" } ]}} # 获取嵌套的JSON字符串 json_str = raw_data["content"]["custom1"][0]["value"] # 解析字符串为Python列表 parsed_list = json.loads(json_str) # 提取目标URL target_url = parsed_list[0]["url"] print(target_url) # 输出结果:https://www.data.com/
补充说明:strip()只能去除字符串首尾的空白字符,对解析JSON结构完全无效。只有把字符串转成Python可识别的列表/字典后,才能像操作普通字典一样提取里面的字段值。
内容的提问来源于stack exchange,提问作者YTPan
相关产品推荐
相关产品推荐

