Maison >développement back-end >C++ >Comment désérialiser un flux d'objets JSON concaténés dans JSON.NET ?
Analyser le flux d'objets JSON à l'aide de JSON.NET
Lors de la désérialisation d'un flux concaténé d'objets JSON sans délimiteurs, le problème est de savoir comment le gérer correctement à l'aide de JSON.NET.
La solution tentée implique l'utilisation d'un lecteur de flux, d'un lecteur de texte JSON et d'une boucle personnalisée pour désérialiser le flux en un IEnumerable
Pour corriger cela, quelques modifications sont à apporter à la boucle :
<code class="language-csharp">public 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); } } }</code>
Il est important de noter que le IEnumerable
<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>
Cette technologie est sur le site dotnetfiddle (https://www.php.cn/link/a3b1c195e3033e5086eb7482c0942e4a.
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!