python 获取字符串中()内的字段代码实现
时间: 2024-09-30 22:15:42 浏览: 38
在Python中,如果你有一个包含嵌套结构(如括号)的字符串或JSON对象,提取特定括号内的字段可能涉及递归或其他解析库。这里我们假设你正在处理的是JSON对象,因为JSON通常会有明确的键值对结构。
```python
import json
def extract_value_from_brackets(obj, key):
if isinstance(obj, dict): # 如果obj是字典
return obj.get(key) or extract_value_from_brackets(next(iter(obj.values())), key) # 递归查找嵌套的字典
elif isinstance(obj, list): # 如果obj是列表
for item in obj:
result = extract_value_from_brackets(item, key)
if result is not None:
return result
else: # 对于其他基本类型,如字符串
if str(obj).startswith(f'({key}'): # 检查字符串是否直接包含键值
return obj[len(key)+1:-1] # 剪切掉括号并返回值
return None # 如果未找到,返回None
# 示例:
response_text = "{'data': [{'name': 'John', 'age': 30}, {'name': 'Jane', 'age': 25}]}"
result_dict = json.loads(response_text)
target_key = 'name'
value = extract_value_from_brackets(result_dict, target_key)
print(value) # 输出:['John', 'Jane']
```
这个函数会遍历给定对象及其子项,直到找到匹配的目标键。如果键是在一个字符串中作为值存在,它还会检查那个字符串是否直接包含了所需的键值对。
阅读全文