Вот примитивный json decoder (даже два), осторожно быдлокод, но хорошо коментированный, писал для того чтобы не таскать с собой тяжелые 'правильные' проекты json (плюс не требует новых версий .net, Будет работать чуть ли не с 1.1, в т.ч. mono), требует допиливания обработки ошибок синтакса и т.п. (читать todo: в коментарих).
pastebin.com/5jJsVs39
Первый метод
SimpleJSON::pairsParseJSON(string) — возвращает одноуровневый Dictionary<string, string>, каждая запись — элементы-листья в дереве json, ключи — составное имя элементов, разделенное точкой (массивы именуются через '[индекс]'), например:
{test:[{a:1,b:'asd'},123]}
выдаст массив:
«test[0].a» => «1»
«test[0].b» => «asd»
«test[1]» => «123»
p.s. этот метод очень удобен при работе со сложными структурами json без массивов
Второй метод
SimpleJSON::treeParseJSON(string) — вернет классический многоуровневый словарь Dictionary<string, object>, где в качестве object может быть либо строка, либо число, либо другой словарь.