您可以通过使用手动解析JSON
JsonTextReader并将其
SupportMultipleContent标志设置为来实现
true。
如果我们看您的第一个示例,并创建一个名为的POCO
Foo:
public class Foo{ [JsonProperty("some")] public string Some { get; set; }}这是我们解析它的方式:
var json = "{"some":"thing1"}rn{"some":"thing2"}rn{"some":"thing3"}";var jsonReader = new JsonTextReader(new StringReader(json)){ SupportMultipleContent = true // This is important!};var jsonSerializer = new JsonSerializer();while (jsonReader.Read()){ Foo foo = jsonSerializer.Deserialize<Foo>(jsonReader);}如果要作为结果的项目列表,只需将每个项目添加到列表
while循环中的列表中即可。
listOfFoo.Add(jsonSerializer.Deserialize<Foo>(jsonReader));
注意:在Json.Net
10.0.4及更高版本中,相同的代码也支持逗号分隔的JSON条目,请参阅如何反序列化狡猾的JSON(带有不正确的引号的字符串和缺少的括号)?)



