It sounds like you want newline-delimited JSON. It's the same as what you have in your question but without the trailing commas.
You can make a simple helper method to create this format using Json.Net like this:
public static string Serialize(IEnumerable items)
{
StringBuilder sb = new StringBuilder();
foreach (var item in items)
{
sb.AppendLine(JsonConvert.SerializeObject(item));
}
return sb.ToString();
}
Better yet, just stream the items directly to your file:
public static void SerializeToFile(IEnumerable items, string fileName, bool append = true)
{
using (StreamWriter sw = new StreamWriter(fileName, append))
using (JsonWriter writer = new JsonTextWriter(sw))
{
var ser = new JsonSerializer();
foreach (var item in items)
{
ser.Serialize(writer, item);
writer.WriteWhitespace(Environment.NewLine);
}
}
}