Files
flutterApp/lib/core/utils/json_safe.dart
2026-09-15 08:51:44 +08:00

33 lines
963 B
Dart

class JsonSafe {
static String asString(dynamic value, [String fallback = '']) {
if (value is String) return value;
return fallback;
}
static String? asStringOrNull(dynamic value) {
if (value is String) return value;
return null;
}
static int asInt(dynamic value, [int fallback = 0]) {
if (value is int) return value;
if (value is num) return value.toInt();
if (value is String) return int.tryParse(value) ?? fallback;
return fallback;
}
static double asDouble(dynamic value, [double fallback = 0.0]) {
if (value is double) return value;
if (value is num) return value.toDouble();
if (value is String) return double.tryParse(value) ?? fallback;
return fallback;
}
static bool asBool(dynamic value, [bool fallback = false]) {
if (value is bool) return value;
if (value is int) return value != 0;
if (value is String) return value.toLowerCase() == 'true';
return fallback;
}
}