Utilisez JSON.NET pour analyser le flux d'objets JSON
Utilisez JSON.NET pour désérialiser un flux continu d'objets JSON sans délimiteur dans IEnumerable<T>
comme suit :
<code class="language-csharp">public IEnumerable<TResult> ReadJson<TResult>(Stream stream) { var serializer = new JsonSerializer(); serializer.CheckAdditionalContent = false; using (var reader = new StreamReader(stream)) using (var jsonReader = new JsonTextReader(reader)) { jsonReader.SupportMultipleContent = true; while (jsonReader.Read()) { yield return serializer.Deserialize<TResult>(jsonReader); } } }</code>
Utilisation :
L'exemple suivant montre l'itération IEnumerable<T>
alors qu'un flux est ouvert :
<code class="language-csharp">using (var stream = /* some stream */) { IEnumerable<MyClass> result = ReadJson<MyClass>(stream); foreach (var item in result) { Console.WriteLine(item.MyProperty); } }</code>
Autres notes :
IEnumerable<T>
pendant que le flux est ouvert. CheckAdditionalContent
sur false
pour éviter les exceptions lorsqu'un contenu supplémentaire est rencontré après la désérialisation. Exemple :
Veuillez vous référer à l'exemple suivant sur le site Web JSON.NET : "Lire plusieurs fragments à l'aide de JsonReader" (//m.sbmmt.com/link/b0a3f2a0d6f86051e6ab6c49d6d99e75).
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!