Я бы порекомендовал использовать библиотеку System.Json, которую не так сложно использовать и переносить в класс, чтобы сделать его строго типизированным. Он также включен в сборку по умолчанию с MonoTouch, поскольку он был унаследован от Silverlight.
Чтобы загрузить это:
JsonValue value = JsonObject.Load(stream); //There are other overloads here, my stream is off an HttpWebRequest
Вот пример по индексу:
this.StringValue = value[0];
this.IntValue = value[1];
Одно мое имя:
this.StringValue = value["StringValue"];
this.IntValue = value["IntValue"];
Где , это - класс со строковым свойством с именем StringValue и свойством int с именем IntValue. По большей части класс JsonValue будет приводить к вашим типам неявно.
Что я делаю, так это создаю класс для хранения всей информации Json строго типизированным образом, а затем передаю JsonValue в конструкторе для выполнения уродливых слабо типизированных вещей.
Для других библиотек вы столкнетесь с проблемами, когда MonoTouch удаляет типы, которые считаются «неиспользуемыми» при создании с помощью отражения (например, при использовании XmlSerializer). Я столкнулся с этой проблемой больше, чем нужно, мне пришлось добавить PreserveAttribute для типов и т. Д.
По этому вопросу читайте здесь для получения дополнительной информации о заповеднике: MonoTouch Doc