extractJson method
Extract and decode json from a string
Implementation
Map<String, dynamic>? extractJson([String separator = '']) {
final index = indexOf(separator) + separator.length;
if (index > length) {
return null;
}
final str = substring(index);
final startIdx = str.indexOf('{');
var endIdx = str.lastIndexOf('}');
while (true) {
try {
return json.decode(str.substring(startIdx, endIdx + 1))
as Map<String, dynamic>;
//final now = DateTime.now();
//_log(str.substring(startIdx, endIdx + 1),
// '${now.minute}.${now.second}.${now.millisecond}-DECODE');
//return value;
} on FormatException {
endIdx = str.lastIndexOf(str.substring(0, endIdx));
if (endIdx == 0) {
return null;
}
}
}
}