Как преобразовать json в класс С#, когда «имя» объекта меняется без пользовательских классовC#

Место общения программистов C#
Ответить
Anonymous
 Как преобразовать json в класс С#, когда «имя» объекта меняется без пользовательских классов

Сообщение Anonymous »

Этот json возвращается из API (он возвращает около 100 элементов):

Код: Выделить всё

{
"translation": {
"el": {
"name": "Greek",
"nativeName": "Ελληνικά",
"dir": "ltr"
},
"en": {
"name": "English",
"nativeName": "English",
"dir": "ltr"
}
}
}
И я могу написать этот код для его десериализации:

Код: Выделить всё

// Root myDeserializedClass = JsonConvert.DeserializeObject(myJsonResponse);
public class El
{
public string name { get; set; }
public string nativeName { get; set; }
public string dir { get; set; }
}

public class En
{
public string name { get; set; }
public string nativeName { get; set; }
public string dir { get; set; }
}

public class Root
{
public Translation translation { get; set; }
}

public class Translation
{
public El el { get; set; }
public En en { get; set; }
}

Но имя («el», «en») будет меняться в зависимости от языка, поэтому я не могу писать собственные классы для каждого из них. Мне нужно иметь возможность десериализовать json в такой объект, чтобы его можно было сохранить в базе данных.

Код: Выделить всё

public class LanguageInfo{
public string LanguageId {get; set;}
public string Name {get;set;}
public string NativeName {get;set;}
public string Direction {get;set;}
}
Есть ли способ сделать это?

Подробнее здесь: https://stackoverflow.com/questions/793 ... ies-withou
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»