Mam następujący JSON wyrażenie: (.. Jak można zauważyć, niestety mam coś w rodzaju „root” element dla każdego obiektu w tablicy bez tej „root” element zadanie staje się dość trywialne)Jak deserializować macierz JSON z elementem "root" dla każdego obiektu w tablicy przy użyciu Json.NET?
[
{ "Person" : { "Name" : "John", "Gender" : "male" } },
{ "Person" : { "Name" : "John", "Gender" : "male" } }
]
muszę deserializować go do listy Person
klasy:
class Person {
public string Name { get; set; }
public string Gender { get; set; }
}
...
List<Person> ListPersons() {
return JsonConvert.DeserializeObject<List<Person>>(jsonString);
}
Czy można zrobić z Json.NET bez tworzenia klasy otoki jak PersonResult?
class PersonResult {
public Person Person { get; set; }
}
...
List<Person> ListPersons() {
return JsonConvert.DeserializeObject<List<PersonResult>>(jsonString)
.Select(p => p.Person)
.ToList();
}
Idealne rozwiązanie dla mnie jest to, aby być w stanie jakoś jednoznacznie określić to „root” (na przykład za pomocą atrybutu) i nie tworzy żadnych owijarki, pomocnicy itp
Tak, niestety musiałem skończyć z podejściem opakowania. Dzięki. –