valueAsString<T extends String?> method
T
valueAsString<T extends String?>(
- K key, {
- T onError(
- JsonParserError err
- T onMissing()?,
- bool allowJson = false,
- bool allowHexEncoding = false,
- StringEncoding? bytesEncoding = StringEncoding.utf8,
- bool acceptSnakeCase = false,
- bool acceptCamelCase = false,
Implementation
T valueAsString<T extends String?>(
K key, {
T Function(JsonParserError err)? onError,
T Function()? onMissing,
bool allowJson = false,
bool allowHexEncoding = false,
StringEncoding? bytesEncoding = StringEncoding.utf8,
/// Also accepts the snake_case or camel_case version of [key] when looking up JSON fields.
/// Only applicable when [K] is `String`.
bool acceptSnakeCase = false,
bool acceptCamelCase = false,
}) {
try {
final value = _checkItem<T>(
key,
onMissing,
acceptSnakeCase,
acceptCamelCase,
);
if (value == null) return value as T;
return JsonParser.valueAsString<T>(
value,
allowJson: allowJson,
allowHexEncoding: allowHexEncoding,
bytesEncoding: bytesEncoding,
);
} on JsonParserError catch (e) {
if (onError != null) return onError(e);
rethrow;
}
}