Анализ строки JSON до объекта .NET

Я анализирую строку JSON на соответствующий объект .NET с помощью библиотеки Newtonsoft. У меня проблема с анализом свойств JSON, которые являются массивами. Иногда свойство JSON представляет собой массив, а иногда - отдельный элемент.

Пример:

Это объект .NET:

  public class xx
  {
      public string yy { get; set; }       
      public List<string> mm{ get; set; }        
  }

Когда я получаю этот JSON:

{ "xx": {"yy":"nn", "mm": [ "zzz", "aaa" ] } }

Я отлично справляюсь:

JsonConvert.DeserializeObject<xx>(json);

Но иногда я получаю этот JSON:

{ "xx": {"yy":"nn", "mm":"zzz"} }

И десериализация не выполняется, потому что свойства списка объекта C #.

Как я могу определить объект для десериализации двух строк JSON в одном объекте (с List ).

-------- ОБНОВЛЕНИЕ -----

Прежде всего, WS генерирует XML, выполняя некоторую операцию .. XML похож на

<xx yy='nn'><mm>zzz</mm></xx>

, а если есть больше элементов, это:

<xx yy='nn'><mm>zzz</mm><mm>aaa</mm></xx>

наконец, WS преобразует этот XML, выполняя:

XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);           
var json = JsonConvert.SerializeXmlNode(doc); 

и отправляет мне json .. и здесь начинается моя проблема ..

5
задан James Newton-King 13 November 2012 в 21:49
поделиться