2017-10-19 19 views
1

Je suis en mesure de désérialiser une liste dans le format ci-dessousDeserialize liste JSON avec un paramètre de nom

[{"id":5,"somevalue":"x","somevalue":"y"},{},{} .....] 

utilisant

var response = MyJsonResponse; 
response.Data = JsonConvert.DeserializeObject<List<TDecode>>(response.ResponseResult); 

Mais, je ne peux pas Désérialise une liste avec un nom ex:

{"results": [{"id":5,"somevalue":"x","somevalue":"y"},{},{} .....]} 

Comment voulez-vous dé-sérialiser un objet comme ça?

+0

Vous avez besoin d'une classe d'emballage –

Répondre

1

Vous ne parvenez pas parce que vous devez créer un autre objet enveloppant votre liste:

public RootObj 
{ 
    public List<TDecode> results { get; set; } 
} 

Et désérialiser il

var result = JsonConvert.DeserializeObject<RootObj>(response.ResponseResult); 

Une autre option consiste à désérialiser comme dynamic puis au cas le result.results à un List<TDecode>.