Рассмотрим следующий JSON:Создание класса для JSON десериализации
{
"Code": 2,
"Body": {
"Dynamic-Key": {
"Key1": "Val1",
"Key2": "Val2"
}
}
}
Определение следующих классов структуры:
[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; }
}
Я десериализации данного JSON с помощью следующего кода:
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(JsonResponse));
JsonResponse responseData = serializer.ReadObject(responseStream) as JsonResponse;
Однако в моем случае «Динамический ключ» не знает n и определяется входным значением пользователя. Каков правильный способ справиться с этим определением JSON?
соображения:
JSON имеет Апи третьей стороной, так что изменение это не вариант.
В моем случае меня не интересует имя динамического ключа, поэтому, если есть возможность всегда сопоставлять одно общее имя, он выполнит эту работу.
Заранее спасибо.