Considérons le JSON suivant:Création d'une classe pour JSON désérialisation
{
"Code": 2,
"Body": {
"Dynamic-Key": {
"Key1": "Val1",
"Key2": "Val2"
}
}
}
Définition de la structure des classes suivantes:
[DataContract]
class JsonResponse
{
[DataMember]
public string Code { get; set; }
[DataMember]
public JsonResponseBody Body { get; set; }
}
[DataContract]
class JsonResponseBody
{
[DataMember(Name = "Dynamic-Key")]
public DynamicKeyData Data { get; set; }
}
[DataContract]
class DynamicKeyData
{
[DataMember]
public string Key1 { get; set; }
[DataMember]
public string Key2 { get; set; }
}
je peux désérialiser le JSON donné avec le code suivant:
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(JsonResponse));
JsonResponse responseData = serializer.ReadObject(responseStream) as JsonResponse;
Cependant dans mon cas le "Dynamic-Key" ne sait pas n et est défini par la valeur d'entrée de l'utilisateur. Quelle est la bonne façon de gérer ce type de définition JSON?
Considérations:
Le JSON est d'un api tiers, afin de changer ce n'est pas une option.
Dans mon cas, je ne me soucie pas du nom de la clé dynamique, donc s'il y a une option pour toujours correspondre à un nom générique, il fera le travail.
Merci d'avance.