using System.Collections.Generic;
public static void Main()
string jsonStr = "{\"myProperty\": \"foo\"}{\"myProperty\": \"bar\"}{\"myProperty\": \"baz\"}";
using (var stream = new MemoryStream(Encoding.UTF8.GetBytes(jsonStr)))
IEnumerable<MyClass> result = ReadJson<MyClass>(stream);
foreach (var item in result)
Console.WriteLine(item.MyProperty);
public static IEnumerable<TResult> ReadJson<TResult>(Stream stream)
var serializer = new JsonSerializer();
using (var reader = new StreamReader(stream))
using (var jsonReader = new JsonTextReader(reader))
jsonReader.SupportMultipleContent = true;
while (jsonReader.Read())
yield return serializer.Deserialize<TResult>(jsonReader);
public string MyProperty { get; set; }