compareJsonKeys method
void
compareJsonKeys(
- String locale
)
Implementation
void compareJsonKeys(String locale) {
final defaultFile = File('$folderPath/$defaultLocale.json');
final targetFile = File('$folderPath/$locale.json');
if (!defaultFile.existsSync() || !targetFile.existsSync()) {
print('One or both files do not exist.');
return;
}
try {
print('$locale.json:');
final defaultJson = jsonDecode(defaultFile.readAsStringSync()) as Map<String, dynamic>;
final targetJson = jsonDecode(targetFile.readAsStringSync()) as Map<String, dynamic>;
final enKeys = defaultJson.keys.toSet();
final deKeys = targetJson.keys.toSet();
final missingKeys = enKeys.difference(deKeys);
final extraKeys = deKeys.difference(enKeys);
if (missingKeys.isEmpty && extraKeys.isEmpty) {
print('✅ All keys match!');
} else {
if (missingKeys.isNotEmpty) {
print('❌ Keys missing: ${missingKeys.join(', ')}');
}
if (extraKeys.isNotEmpty) {
print('❌ Extra keys: ${extraKeys.join(', ')}');
}
}
} catch (error) {
print('❌ Invalid JSON format');
}
}