Json反序列化流中的多个对象



当json之间有其他文本时,我如何从流中反序列化多个json对象。在流中,我有以下内容:

Stuff that is not JSON
{"a": 1, "b": 2}
Stuff that is not JSON either
{"a": 3, "b": 4}

我想解析出这两个json对象。

由于这不是一个原生JSON,您将不得不手动完成一些人工工作,尽管这应该不会很困难。

您可以将流传递到StreamReader并跳过前两行:

var streamReader = new StreamReader(yourStream);
for (int i = 0; i < 2; i++)
{
    streamReader.ReadLine();
}
var jsonLine = textFile.ReadLine();
var yourObject = JsonConvert.Deserialize<dynamic>(jsonLine);

对两条线路都这样做。如果您有一个较长的JSON,在行之间有一个常量,那么您可以使用一个while循环来代替模。

注意,我解析为dynamic,不过您可以将其解析为任何强类型的类型。

相关内容

  • 没有找到相关文章