Disons que j'ai deux classes, à savoir personne et projet:Comment de/sérialiser objets imbriqués avec Json.Net
class Person {
public int Id { get; set; }
public string Name { get; set; }
}
class Project {
public int Id { get; set; }
public string Name { get; set; }
public List<Person> Workers { get; set; }
}
Je veux stocker les données de la personne et les données de projet dans des fichiers distincts nommés et person.json project.json.
Pour sérialiser les données que j'utilise la déclaration ci-dessous:
JsonConvert.SerializeObject(Collection, Formatting.None, new JsonSerializerSettings()
{
NullValueHandling = NullValueHandling.Ignore,
TypeNameHandling = TypeNameHandling.All
};)
où la collecte est un List<People>
.
désérialiser les données de personne que j'utilise la déclaration ci-dessous:
JsonConvert.DeserializeObject<List<T>>(json, , new JsonSerializerSettings()
{
NullValueHandling = NullValueHandling.Ignore,
TypeNameHandling = TypeNameHandling.All
};)
où JSON est les données JSON de chaîne de la person.json. J'affiche le List<Person>
dans un ListBox. Maintenant, je ne sais pas comment je devrais stocker les données du projet de sorte que chaque fois que je modifie un objet personne et finalement l'enregistrer dans le fichier person.json, l'objet personne respectif dans l'objet List<Person>
dans le fichier de projet mises à jour.
Je ne suis même pas sûr que json soit un bon moyen de le faire ou pas et peut-être que je devrais essayer une base de données relationnelle.
Veuillez me faire savoir si je n'ai pas bien expliqué ma situation. J'ai vraiment besoin de faire le travail avec JSON et de chercher une solution à mon problème. Toute aide est appréciée.
Vous devez réécrire le fichier JSON avec un nouveau contenu. Et oui, il semble qu'une base de données relationnelle est plus appropriée. JSON et XML sont des formats * de transport *, ils ne sont pas idéaux en tant que * formats * de stockage. –
@ LasseV.Karlsen - De nombreux systèmes utilisent JSON comme format de stockage.Ce qu'il demande nécessite une couche de gestion pour les données, quel que soit le format. –