Sérialisation et désérialisation des données JSON délimitées par des nouvelles lignes en C#
En C#, vous pouvez exploiter la bibliothèque JSON.NET pour traiter les données JSON délimitées par des nouvelles lignes. Ce format de données JSON est indispensable pour interagir avec des services comme Google BigQuery.
Processus de sérialisation et de désérialisation
Vous pouvez utiliser JsonTextReader
pour analyser les données JSON délimitées par des nouvelles lignes. Les étapes spécifiques sont les suivantes :
Foo
ou Person
) pour représenter la structure de données JSON. SupportMultipleContent
à l'aide du drapeau true
défini sur JsonTextReader
. Ceci est essentiel pour gérer plusieurs objets JSON dans un seul flux. JsonSerializer
. Si vous devez stocker les résultats désérialisés sous forme de liste, ajoutez chaque élément désérialisé à la liste dans une boucle.
Exemple 1 : Données JSON simples
Pour les données JSON suivantes :
<code>{"some":"thing1"} {"some":"thing2"} {"some":"thing3"}</code>
Le code suivant illustre le processus de désérialisation :
<code class="language-csharp">var json = "{\"some\":\"thing1\"}\r\n{\"some\":\"thing2\"}\r\n{\"some\":\"thing3\"}"; var jsonReader = new JsonTextReader(new StringReader(json)) { SupportMultipleContent = true }; var jsonSerializer = new JsonSerializer(); var fooList = new List<Foo>(); while (jsonReader.Read()) { fooList.Add(jsonSerializer.Deserialize<Foo>(jsonReader)); }</code>
Exemple 2 : Données JSON complexes
Pour des données JSON plus complexes :
<code>{"kind": "person", "fullName": "John Doe", "age": 22, "gender": "Male", "citiesLived": [{ "place": "Seattle", "numberOfYears": 5}, {"place": "Stockholm", "numberOfYears": 6}]} {"kind": "person", "fullName": "Jane Austen", "age": 24, "gender": "Female", "citiesLived": [{"place": "Los Angeles", "numberOfYears": 2}, {"place": "Tokyo", "numberOfYears": 2}]}</code>
Créez une Person
classe POCO et désérialisez en utilisant la même méthode que l'exemple 1.
Il est important de noter que cette technologie prend également en charge les entrées JSON délimitées par des virgules utilisant Json.Net 10.0.4 et versions ultérieures.
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!