Jest sobie struktura heretycka struktura JSON która zamiast tablicy ma listę obiektów. Problematyczny fragment jest w następującym stylu:

{
   "normalny_wpis": "który_poddaje_się_deserializacji_bez_problemów",

   "irytująca_lista" : {
      "001" : {
         "foo": "bar"
      },
      "002" : {
         "foo": "bar"
      },
     ......}
}

Wszystkie wpisy w tej liście obiektów mają takie same pola, ich nazwa jest na tyle losowa że nie pozwala na przeszukiwanie w stylu brute force.

I tu mam problem że nie mam pojęcia jak to zdeserialozować ( oraz jaką wystukać klasę żeby się dało ).

Kod do deserializacji znaleziony na StackOverflow, wszystko działa lecz wrzucam w razie czego.

        public static T Deserialise<T>(string json)
        {
            T obj = Activator.CreateInstance<T>();
            using (MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(json)))
            {
                DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
                obj = (T)serializer.ReadObject(ms);
                return obj;
            }
        }

Alternatywnie mogę przeszukiwać to ręcznie w stylu:

System.Xml.XmlDictionaryReader r = System.Runtime.Serialization.Json.JsonReaderWriterFactory.CreateJsonReader(chunks[n].data, System.Xml.XmlDictionaryReaderQuotas.Max);
while (!r.EOF)
{
  r.Read();
  xx=r.Name;
  yy=r.Value;
  zz=r.NodeType;
}
r.Close();

I jechać klucz po kluczu a wynik końcowy byłby w tej samej klasie do której chciałem deserializować tyle że zapakowany ręcznie.

Ewentualnie być leniwym i zapakować to w tabelkę [path][name][value] i poszczuć to skrawkiem Linq'a by znaleźć mojego triforca.

A więc proszę o sugestie gdyż zamiast robić program utknąłem na takim małym badziewiu.