面试题答案
一键面试设计思路
- 首先解析传入的JSON数据,将其转换为Python的字典对象。
- 使用正则表达式匹配键的前缀模式。
- 针对值的格式,根据其可能的类型(如字符串、数字等)分别使用相应的正则表达式或其他验证方法进行验证。
代码实现
import re
import json
def validate_json_pattern(json_data):
try:
data = json.loads(json_data)
for key, value in data.items():
# 假设键的前缀模式为 'prefix_'
if not re.match(r'^prefix_', key):
return False
# 假设值为字符串且长度在3到10之间
if isinstance(value, str):
if not re.match(r'^.{3,10}$', value):
return False
# 假设值为整数且在0到100之间
elif isinstance(value, int):
if value < 0 or value > 100:
return False
else:
return False
return True
except json.JSONDecodeError:
return False
你可以使用以下方式调用这个函数:
test_json = '{"prefix_key1": "value1", "prefix_key2": 50}'
print(validate_json_pattern(test_json))