En réponse à "Quelques détails sur la manière de mettre en œuvre cela seraient utiles. - aknatn"
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
public class Program
{
public static void Main()
{
//JSON = {"Property1":"as","CollectionProperty":[{"prop1":"1","prop2":"2","prop3":"3"}]}
//Cette partie supérieure sert simplement à construire un flux
//- Pas besoin de le faire si vous accédez à un fichier
string JSON = "{\"Property1\":\"SomePropName\",\"CollectionProperty\":"+
"[{"prop1":"1","prop2":"2","prop3":"3"}]}";
byte[] byteArray = Encoding.UTF8.GetBytes(JSON);
//byte[] byteArray = Encoding.ASCII.GetBytes(contents);
MemoryStream stream = new MemoryStream(byteArray);
// convertir le flux en chaîne
JsonSerializer se = new JsonSerializer();
StreamReader re = new StreamReader(stream);
JsonTextReader reader = new JsonTextReader(re);
var DeserializedObject = se.Deserialize(reader);
Console.WriteLine(DeserializeObject.Property1);
//"...Pour que je puisse rechercher des données dans le fichier?"
//C'est à vous de décider comment gérer cela, mais maintenant vous avez du JSON
//désérialisé et stocké en mémoire. 'Comment chercher' dépend de la classe des objets
//De plus, la question initiale disait qu'il avait le JSON. Je recommande d'utiliser
//json2csharp.com/ ou jsonutils.com/
//pour récupérer les classes afin de le désérialiser dans votre objet.
//Remarque 1: Vous n'avez pas toujours à le caster
//- J'essaie juste de le faire chaque fois que possible
//Remarque 2: Comme vous utilisez un StreamReader,
//cela tiendra compte des grands objets JSON
}
public class Collections
{
public List CollectionProperty = new List();
public string Property1;
}
public class CollectionProperty
{
public string prop1 { get; set; }
public string prop2 { get; set; }
public string prop3 { get; set; }
}
}