2016-06-06 1 views
0

Je suit Jsonpeut désérialiser le Json C#

"{\" message \ ": \" Le contenu que vous supprimez est associée à d'autres mashups \ », \ "MashupList \":. {\ "70592 \": \ "low Frame Rated test \", \ "70851 \": \ "bas test Rated Frame \"}} "

Je suis incapable de déseriliser la partie MashupList de ce JSON. 70592 et 70851 ne sont pas les attibutes fixes, ils peuvent être modifiés ce que je l'ai fait jusqu'à présent

[DataContract] 
public class CustomBaseAffectedMashupsResponse 
{ 
    [DataMember(Name = "MashupList")] 
    public MashupList MashupsList { get; set; } 
    [DataMember(Name = "Message")] 
    public String Message { get; set; } 

} 

[DataContract] 
public class MashupList 
{ 
    [DataMember] 
    public List<String> MashupTitle { get; set; } 
} 

Et la méthode deserialize

public static T Deserialise<T>(string json) 
{ 
     T obj = default(T); 
     try { 
       obj = JsonConvert.DeserializeObject<T>(json, new JsonSerializerSettings { 
        NullValueHandling = NullValueHandling.Ignore 
       }); 

     return obj; 
     } catch (Exception Exception) 
     { 
      return obj; 
     } 
} 

il ne donne aucune erreur, mais je ne sais pas pourquoi il fait pas deserilize MashupList partie

Je n'ai pas assez réputation pour commenter si je suis ici ajout d'un commentaire, il ne montre aucune erreur mais ne deserialize pas le

"MashupList \": {\ "70592 \": \ "bas Cadre \ test nominal", \ "70851 \": \ "\ faible test nominale Frame"}

+0

Vous êtes probablement en train d'avaler l'erreur avec le try/catch –

+0

Est-ce qu'il sérialise le même objet? – ilansch

Répondre

1

Type de La propriété MashupList devrait être Dictionary<string, string>.

Vous n'avez pas besoin de la classe MashupList. Les clés sont les numéros 70592, 70592. Les valeurs sont les chaînes, par ex. low Frame Rated test.

class CustomBaseAffectedMashupsResponse 
{ 
    public Dictionary<string, string> MashupList { get; set; } 
    public string Message { get; set; } 
}