@komar Ле, на соседнем проекте у заказчика стояло ruby-приложение, отдающие невалидный json, на котором была завязана уже большая инфраструктура, и в новом проекте писался кастомный парсер под этот невалидный json. // не для? аутистов: не относится ни к комару, ни к ruby, прост вспомнилось
@anonymous > рисовать json вручную
Нормальному рубисту в нормальных кедах с нормальным макбуком такое даже в голову не придет. Он выберет самый модный гем для рисования json’а как минимум, а так обычно берет сразу самый модный гем для реализации rest-интерфейса тремя строчками кода.
@anonymous Вот тебе смешно.
А взял окамл, блядь.
Для окамла есть три библиотеки для работы с json’ом.
Одна из них аж тупесафе-фреймворк с препроцессором.
Ни одна из них не годится для real-world-json’а, только для узкого подмножества, которое влезло в голову тупым окамлистам.
Я не знаю, как мне дальше жить.
Хотелось выбросить все к хуям и взять руби, но там уже кода понаписано было ебаная гора.
@anonymous Хотя ладно, если кратенько:
1) Все библиотеки не могут распарсить «42» как флоат. В результате мой красивый код выглядит так:
| `List [`Floatlit lon; `Floatlit lat]
| `List [`Intlit lon; `Floatlit lat]
| `List [`Floatlit lon; `Intlit lat]
| `List [`Intlit lon; `Intlit lat] ->
let lon = float_of_string lon in
let lat = float_of_string lat in
2) Высокоуровневая поебота с препроцессором не понимает, что за тегом "huita" может быть как массив строк, так и массив массивов, и это не будет ошибкой. Но тут я уже все могу понять.
@komar Ты забыл один нюанс добавить: "берет модный гем, форкает на гитхабе и допиливает." Ибо в этих ваших модных руби, жабоскрептах и гопараше библиотеки под стать их криворуким авторам.
@etw Хотя, к слову, в руби уже не так больно, т.к. нубы, генерирующие говнокод, перекатились на новые модные жс с го, а старые библиотеки постепенно приводятся в порядок.
@anonymous Навалидный json случайно не выглядит так?
{"gay": "pidor"}{"gay": "putin"}
В моем случае это были delphi программисты, дорвавшиеся до пхп. Когда заикнулся об изменении такого кода - услышал "не будем поддерживать".