迭代和提取JSON数组中的URL字符串可以通过以下步骤实现:
以下是一个示例代码片段,展示了如何在Python中迭代和提取JSON数组中的URL字符串:
import json
import re
def extract_urls_from_json(json_str):
data = json.loads(json_str)
urls = []
extract_urls(data, urls)
return urls
def extract_urls(data, urls):
if isinstance(data, list):
for item in data:
extract_urls(item, urls)
elif isinstance(data, dict):
for key, value in data.items():
extract_urls(value, urls)
elif isinstance(data, str):
if re.match(r'^https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+$', data):
urls.append(data)
# 示例JSON数组
json_str = '[{"name": "example", "url": "https://example.com"}, {"name": "google", "url": "https://google.com"}]'
# 提取URL
urls = extract_urls_from_json(json_str)
# 打印提取到的URL
for url in urls:
print(url)
在这个示例中,我们首先将JSON字符串解析为Python对象,然后使用递归函数extract_urls
遍历JSON数据。对于每个字符串类型的值,我们使用正则表达式检查是否为URL,并将其添加到URL列表中。最后,我们打印提取到的URL。
请注意,这只是一个示例代码片段,具体的实现方式可能因编程语言和具体的JSON结构而有所不同。在实际应用中,您可能需要根据自己的需求进行适当的调整和扩展。
领取专属 10元无门槛券
手把手带您无忧上云