在处理API响应时,经常会遇到返回数据可能是数组或单个对象的情况。为了统一处理这些数据,我们需要对其进行反序列化。以下是解决这个问题的步骤和相关概念:
我们可以编写一个函数来处理这种情况,确保无论响应是数组还是单个对象,都能正确反序列化。
function deserializeResponse(response) {
try {
// 尝试将响应解析为JSON对象
const data = JSON.parse(response);
// 检查数据类型并进行相应处理
if (Array.isArray(data)) {
// 如果是数组,直接返回
return data;
} else {
// 如果是单个对象,将其包装成数组返回
return [data];
}
} catch (error) {
console.error("Failed to deserialize response:", error);
return null;
}
}
// 示例使用
const response1 = '[{"id": 1, "name": "Alice"}]';
const response2 = '{"id": 2, "name": "Bob"}';
console.log(deserializeResponse(response1)); // 输出: [{id: 1, name: "Alice"}]
console.log(deserializeResponse(response2)); // 输出: [{id: 2, name: "Bob"}]
通过上述方法,我们可以确保无论API响应是数组还是单个对象,都能正确反序列化并统一处理。这样可以简化代码逻辑,提高代码的可维护性和可读性。
领取专属 10元无门槛券
手把手带您无忧上云