关于响应数据的坑
Closed this issue · 1 comments
urain39 commented
目前Aria2返回的数据中的类型都是字符串,这一点让人很头疼。我在想如果可以的话,我想写一个简单的预解析器,遍历整个返回的对象,将数据类型转换为标准类型。
urain39 commented
function _preprocess(value: string): any {
const l = value.length;
if (l > 0 && l <= 20) {
const n = Number(value);
if (n || n === 0)
return n;
if (value === 'true')
return true;
if (value === 'false')
return false;
if (value === 'null')
return null;
}
return value;
}
export function preprocess(object: any): any {
let value: any,
type: string;
for (const key in object) {
value = object[key];
type = typeof value;
if (type === 'string') {
object[key] = _preprocess(value);
} else if (type === 'object') {
preprocess(value);
}
}
return object;
}