当jsons之间有其他文本时,如何从流中反序列化多个json对象。 在流中,我有以下内容:
Stuff that is not JSON
{"a": 1, "b": 2}
Stuff that is not JSON either
{"a": 3, "b": 4}
我想解析那两个json对象。
答案 0 :(得分:1)
由于这不是原生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
,但您可以将其解析为任何强类型类型。