isBalancedJson static method
Fast check for balanced braces without full JSON parsing.
Implementation
static bool isBalancedJson(String str) {
int braceCount = 0;
bool inString = false;
bool escaped = false;
bool hasSeenOpenBrace = false;
for (int i = 0; i < str.length; i++) {
final char = str[i];
if (escaped) {
escaped = false;
continue;
}
if (char == '\\') {
escaped = true;
continue;
}
if (char == '"') {
inString = !inString;
continue;
}
if (!inString) {
if (char == '{') {
braceCount++;
hasSeenOpenBrace = true;
} else if (char == '}') {
braceCount--;
if (braceCount < 0) return false;
}
}
}
return braceCount == 0 && hasSeenOpenBrace;
}