
Alexander
21.12.2017
20:36:19
а что json падает на лишних запятых?
типа {"a":{"b":["foo",]},} ?
как его обучить не падать?

Denis
21.12.2017
20:36:55
не по канону же

Google

Alexander
21.12.2017
20:39:24
js так разрешает
а внешний сервис шлёт

john
21.12.2017
20:40:46
да, в Js разрешили такое
и как видишь сделали только хуже

Alexander
21.12.2017
20:43:33
не вижу, в смысле мне не очевидно, что это хуже
без этого было бы проще

Pineapple
21.12.2017
20:45:17
Из питона натащили? Там такую штуку мотивировали простотой кодогенерации: пиши запятую после каждого элемента и не думай ни о чём

Alexander
21.12.2017
20:46:23
да и в php
ну и везде где код активно генерируют

Vasiliy
21.12.2017
20:47:10
в случае с массивами там фарш начинается - кто-то парсит [2, 3,, ] как [2, 3], кто-то как [2, 3, undefined], кто-то как [2, 3, undefined, undefined]
сейчас, вроде как, в стандарте ecmascript это всё прописали, но не думаю, что это спасает ситуацию

Alexander
21.12.2017
20:49:41
не вижу в чьем извращенном создании мог возникнуть вариант 3
но то что заставить aeson парсить [a,b,c,] я не знаю как - мне не нравится

Google

Alexander
21.12.2017
20:50:45
ещё и без внятной ошибки

Pineapple
21.12.2017
20:52:52
Но вроде лишние запятые — нарушение стандарта.
Не думаю это можно сделать иначе чем патча aeson

Alexander
21.12.2017
20:54:01
ну да, вроде не положены
ладно
будем надеяться что они только в examples накосячили

Psy
21.12.2017
20:54:16

Vasiliy
21.12.2017
20:54:41
действительно, для какого-то там DotNetTime есть поддержка, а для висящей запятой нет...

Alexander
21.12.2017
20:55:19
ладно может проще будет потом на какой streaming парсер перейти, там проблемы почти не будет

Denis
21.12.2017
20:56:02
я так битый json разбирал

Alexander
21.12.2017
20:56:35
если я буду сначала парсеком, то возникает вопрос, сильно ли мне нужен аесон
(ну кроме его типов)

Denis
21.12.2017
20:56:54
ну как бы да
а где null?

melancholiac
21.12.2017
21:05:05
#define null

Антон
21.12.2017
21:05:35

Pig
21.12.2017
23:35:32

adam
22.12.2017
02:37:50

Yuriy
22.12.2017
06:43:24
@qnikst, JS и JSON — разные вещи, одно не является подмножеством другого

Google

Yuriy
22.12.2017
06:44:08
хвостовые запятые может съесть парсер YAML или JSON5

kana
22.12.2017
06:51:28
абсолютно любой JSON будет валидным js-литералом
судя по вики, есть расширение формата json5, который расширяет json нововедениями из es6

Artyom
22.12.2017
07:06:45
http://timelessrepo.com/json-isnt-a-javascript-subset

Aleksey
22.12.2017
07:10:39
JSON == (not so) JavaScript-like Object Notation :)

Yuriy
22.12.2017
07:45:39

kana
22.12.2017
07:46:52
это различие выглядит как ошибка во время проектирования, нежели как желание запилить свой формат отдельно от JS

Yuriy
22.12.2017
07:47:36
но из-за этого теперь нельзя просто вставлять JSON в JS

Denis
22.12.2017
07:47:41
в вебе практически всё одна большая ошибка проектирования FWIW

Yuriy
22.12.2017
07:48:48
в принципе, если специально почистить, то можно
JSON вообще из косяков состоит чуть более, чем полностью

A
22.12.2017
07:50:25

Denis
22.12.2017
07:51:02
встречный вопрос: почему утконосы существуют?

Yuriy
22.12.2017
07:51:04

A
22.12.2017
07:52:27
мне кажется в вебе всё настолько же хорошо, насколько хорошо в любой другой области ит
ну или в вебе всё настолько же плохо, насколько плохо в любой другой области ит

kana
22.12.2017
07:55:37
не могу судить за другие области, но порабовав в вебе несколько лет я все же считаю, что там все очень плохо
особенно на фронте, где я и работал, про бэк ничего сказать не могу

Google

Aleksey
22.12.2017
07:56:33
В вебе долгое время цена ошибки была низкой - где-то кнопка залипала, где-то вёрстка ползла, не более. Этот факт влиял на подход к самой разработке, на качество библиотек, на способ мышления, наконец. Но вот настало время больших приложений на "веб-технологиях" и оказалось, что цена ошибки сильно возросла. А mindset остался, и код старый остался, и язык уже перестал подходить. В итоге имеем, что имеем

Yuriy
22.12.2017
08:18:33
<irony>надо просто взять и</irony> перейти на WebAssembly

Aleksey
22.12.2017
08:19:07
HTML и CSS останутся :(
Только если перейти на "всё рисуем в канву" :)

A
22.12.2017
08:21:31
на хаскеле

Yuriy
22.12.2017
08:22:11

A64m
22.12.2017
08:22:32
перейти на РИЗОНМЛ

Yuriy
22.12.2017
08:22:57

Admin
ERROR: S client not available

A
22.12.2017
08:23:21

A64m
22.12.2017
08:25:14
в нынешний вебасембли, кстати, хаскель нормально не скомпилировать, только анрегистеред

Aleksey
22.12.2017
08:27:04
Но у БЭМ есть бооольшая проблема - нет готовых "фреймворков" а ля бутстрап. Поэтому даже простецкую админку делать нужно самому. А это плохо
Яндекс обещал запилить библиотеку компонент реюзабельных. Вот тогда можно будет жить с БЭМ в маленьком масштабе

Yuriy
22.12.2017
08:29:51

A64m
22.12.2017
08:32:42
вот из анрегистеред?
это такой способ компиляции хаскеля в ограниченный таргет, не позволяющий сделать все нужные фокусы для нормально производительности, конкретно в си и с трамплинами. Получаемый код сильно медленнее, но можно билдить везде, где есть си-компилятор, применяется он для портирования гхц на новую платформу обычно.
нужные для нормального билда фичи вроде как собираются добавить в вебасембли, но их там пока нет

Kirill
22.12.2017
08:39:43
а какие именно фичи? нет линки чтоб подробней покурить?

A64m
22.12.2017
08:44:30

Kirill
22.12.2017
08:45:11
спасиб

Google

illiatshurotshka❄️
22.12.2017
09:07:58

Alexander
22.12.2017
09:16:11
интересно, а какие есть общие подходы к разбору невалидных сериализаций
это ведь абсолютно нормально, что json, HTML, да даже xml могут быть кривыми
а возможности изменить нету и.к. сервис чужой

Alister
22.12.2017
09:17:25
основной подход - находить разрабов сервиса на гитхабе, отслеживать где они живут и бить лица

Alexander
22.12.2017
09:18:23
очень требовательный к деньгам подход
это если ещё имена разрабов узнать можно

Denis
22.12.2017
09:19:27

Alister
22.12.2017
09:19:36
Баруха сложно бить

Denis
22.12.2017
09:20:22
кого?

Alister
22.12.2017
09:21:00
жабист один
огроменный
а вообще любого дева из США тоже проблематично
у них как правило есть винтовки

Denis
22.12.2017
09:22:46
функциональщик тоже есть не маленький) https://github.com/jdegoes

Pineapple
22.12.2017
09:29:32

Alister
22.12.2017
09:29:59
это уже само по себе наказание
*шутка*

kana
22.12.2017
09:31:49
Да и Снойман качается

Leonid
22.12.2017
09:34:07
Как ни качайся, три человека с битами не одолеть

Hot
22.12.2017
09:34:29
Если только ты не функциональщик ?