Десериализация JSON с парами имя/значение переменной в объект на C#

Я использую C# .NET 4.0 для анализа JSON в пользовательский объект. Я использую JavaScriptSerializer.Deserialize, чтобы сопоставить его с классом, который я написал. Проблема в том, что пары имя/значение JSON не являются статичными и варьируются в зависимости от аргумента isChain, как показано в этом фрагменте JSON (лучшая ссылка внизу):

{
   "STATE_WALK_LEFT":{
      "isChain":"1",
      "x":"1"
   },
   "STATE_WALK_LEFT_0":{
      "x":"0"
   },
   "STATE_WALK_LEFT_1":{
      "x":"40"
   },
   "STATE_WALK_LEFT_2":{
      "x":"80"
   },
   "STATE_WALK_RIGHT":{
      "isChain":"0"
   },
   "STATE_RUN_LEFT":{
      "isChain":"0"
   }
}

Цепочки могут иметь записи от _STATE_0 до _STATE_25 в цепочках. Есть ли способ сохранить эти данные, чтобы мне не приходилось писать 12*26 пустых классов, например:

public StateWalkLeft0 STATE_WALK_LEFT { get; set; }
public StateWalkLeft0 STATE_WALK_LEFT_0 { get; set; }
public StateWalkLeft1 STATE_WALK_LEFT_1 { get; set; }
public StateWalkLeft2 STATE_WALK_LEFT_2 { get; set; }
public StateWalkLeft3 STATE_WALK_LEFT_3 { get; set; }

Есть ли библиотека или какой-то другой способ, который я мог бы использовать для частичного разбора только STATE_0 , STATE_1 и т. д.? Не могли бы вы предложить способ добавить эти недавно добавленные пары JSON?

Отредактировано для уточнения: Чтобы получить представление о том, с чем я работаю, вот класс, полученный из JSON:

Ознакомьтесь с моим полным классом, чтобы получить представление о том, что содержит JSON

По сути, мне просто нужен способ хранения эти недавно реализованные цепочки в этом классе как-то для обработки. Все эти классы/свойства генерируются из этих JSON.

6
задан Brad C 11 May 2012 в 23:35
поделиться