面试题答案
一键面试以下以Python语言为例:
import json
response_json = '{"data":{"status":"success","result":[1, 2, 3]}}'
try:
data = json.loads(response_json)
if "data" in data:
sub_data = data["data"]
if sub_data["status"] == "success" and all(num > 0 for num in sub_data["result"]):
print("断言成功")
else:
print("断言失败")
else:
print("数据结构异常,缺少data字段")
except json.JSONDecodeError:
print("解析JSON数据失败")
异常处理阐述
- JSON解析异常:使用
try - except
块捕获json.JSONDecodeError
异常,因为如果接口返回的不是合法的JSON格式数据,json.loads
会抛出此异常,此时直接提示解析失败。 - 数据结构异常:通过
if "data" in data:
判断最外层数据中是否存在data
字段,若不存在,说明数据结构与预期不符,给出相应提示。这样的处理方式可以较为优雅地应对可能出现的异常情况,确保测试的稳定性和可靠性。