Прикручивая авторизацию с помощью популярных сайтов, столкнулся с проблемой. Согласно стандарту OAuth, ответ от сервера авторизации приходит в формате Json, а в .net удобной функции для его парсинга нет. Существует, конечно, JavaScriptSerializer, но он наследует все проблемы сериализеров. Во-первых, если будет расхождение в названии полей, тогда будут появляться исключения. Во-вторых, чисто лень создавать класс, пусть и содержащий только название полей под каждый ответ. Я подключал 8 систем авторизации, в среднем мне пришлось бы написать по 2-3 класса на каждую. То есть где-то 20 классов. Я уже не говорю о тех, кто делает глубокую интеграцию. Зачем нагромождать код? Ну и, естественно, в вебе особо остро стоит вопрос производительности, а сериализаторы производительностью не блещут. Исходя из всех этих рассуждений я написал довольно простую функцию, которая превращает строку json в словарь типа Dictionary<string,string>.
Читать полностью »