addItemToJSONCArray function

String addItemToJSONCArray(
  1. String content,
  2. dynamic newItem
)

Add an item to a JSON array string, preserving formatting.

Implementation

String addItemToJSONCArray(String content, dynamic newItem) {
  try {
    if (content.trim().isEmpty) {
      return const JsonEncoder.withIndent('    ').convert([newItem]);
    }

    final stripped = _stripBOM(content);
    final parsed = json.decode(stripped);

    if (parsed is List) {
      final copy = [...parsed, newItem];
      return const JsonEncoder.withIndent('    ').convert(copy);
    }

    return const JsonEncoder.withIndent('    ').convert([newItem]);
  } catch (e) {
    stderr.writeln('addItemToJSONCArray error: $e');
    return const JsonEncoder.withIndent('    ').convert([newItem]);
  }
}