BloomCatalog.fromJsonString constructor
Creates a BloomCatalog by decoding a JSON-encoded string.
Throws a FormatException if jsonString does not decode to a valid JSON object map.
const json = '{"welcome": "Hello!", "notifications": "{count} new"}';
final catalog = BloomCatalog.fromJsonString('en-US', json);
Implementation
factory BloomCatalog.fromJsonString(String locale, String jsonString) {
final dynamic decoded = jsonDecode(jsonString);
if (decoded is Map<String, dynamic>) {
return BloomCatalog.fromJson(locale, decoded);
} else if (decoded is Map) {
return BloomCatalog.fromJson(
locale,
decoded.map((k, v) => MapEntry(k.toString(), v)),
);
}
throw FormatException(
'Invalid JSON for BloomCatalog: expected a JSON object.');
}