
Alex
17.09.2018
03:13:53
а понятно, быть может. Еще обратил внимание, что wcf возвращаемый int в json отображает как число в респонс безо всяких {}. Этого провайдер не понял, а как настроить я не нашел. пришлось городить огород с httpClient-ом.

Friedrich
17.09.2018
03:14:44
А что должно быть в сгенерированном типе для числа?
По-моему, это был бы просто алиас для int :)

Grigoriy
17.09.2018
04:20:49
Привет!

Google

Alex
17.09.2018
04:38:58

Friedrich
17.09.2018
04:39:38
По спецификации JSON, примитивные значения (не объекты) разрешены в качестве корневых в документе.

Alex
17.09.2018
04:40:29
т.е. Root = 1?

Friedrich
17.09.2018
04:40:33
Поэтому int в качестве рута не должен отличаться от int в качестве поля объекта, я так считаю.
Просто приходит тебе респонс, а в нём написано 42 или "Hello", ну или [1,2,3]. Это валидно.

Vladimir
17.09.2018
05:08:35
Браузерный метод .json на респонсе валится от такого)

Roman
17.09.2018
05:50:53
https://twitter.com/brandewinder/status/1041422041490944000?s=19

Friedrich
17.09.2018
06:06:29

Roman
17.09.2018
06:11:24
@sergey_tihon спасибо, за публикацию)

Vladimir
17.09.2018
06:45:19

Alex
17.09.2018
08:07:54

Google

Alex
17.09.2018
08:10:00
Severity Code Description Project File Line Suppression State
Error FS3033 The type provider 'ProviderImplementation.JsonProvider' reported an error: Cannot read sample JSON from 'http://localhost/PulseService/web/GetOffsetByTime/': Invalid JSON starting at character 0, snippet =
----
31337
-----
json =
------
31337
------- testApp C:\tmp\testApp\Program.fs 31 Active
= JsonProvider<"""1"""> аналогично

Vasily
17.09.2018
08:13:44
Фигурные скобки никто не отменял
В теории

Ayrat
17.09.2018
08:14:14
ну вообще это проблема JsonProvider
1 - это валидный json
просто 1
не { 1 }
и {1} вроде не валидный

Vasily
17.09.2018
08:15:06
Ну ты прав

Alex
17.09.2018
08:15:13

Vlad
17.09.2018
08:15:13

Vasily
17.09.2018
08:15:39
Блин,надо спеку почитать
А то туплю

Ayrat
17.09.2018
08:16:49
жсон может состоять из объектов - через {}, массивов - через [], и примитивных значений - чисел, строк, null, boolean, может ещё чо забыл
и сочетаний всего этого выше
т.е. может быть массив из объектов и примитивных значений вперемешку
[
{ ... },
1,
"123"
]
а может быть просто примитивное значение без объектов и массивов
"123" - нормальный json, но просто из примитивного значения

Vasily
17.09.2018
08:17:54
Хммм... спека по json состоит в основном из пустых страниц :)

Ayrat
17.09.2018
08:17:56
объект ему не нужен

Google

Vasily
17.09.2018
08:19:13
Но в целом да, должен жрать

Ayrat
17.09.2018
08:19:21
в объекте насколько я знаю обязательно именно ключ-значение, где значение может быть json
{
"key1": 1 - примитивное значение по ключу
"key2": [...] - массив жсонов, см выше
"key3": {...} - по ключу лежит другой объект
}

Vasily
17.09.2018
08:19:52
Хоть свой парсер пиши
Я так понимаю, проблема десериализации в том, что предполагается JObject
И, кстати, в спеке json нет спецификации даты

Ayrat
17.09.2018
08:22:58
Ты мне прям эмоции возобновил

Vasily
17.09.2018
08:23:15
Поэтому тому, кто ее накрутил
Надо что-то накрутить

Ayrat
17.09.2018
08:23:24
Да, он конченый

Vasily
17.09.2018
08:23:52
Интересно, долго ли парсер json на hopac писать
С поддержкой jpath на альтах

Ayrat
17.09.2018
08:24:44
Любопытно.
Альты не обладают транзакционным комитом кстати
Я всё порывался сделать, но каждый раз находил костыль чтобы не писать

Vasily
17.09.2018
08:25:52
В теории должна быстрая библиотека получиться

Ayrat
17.09.2018
08:26:00
Есть пример - Логари

Vasily
17.09.2018
08:26:01
Т.к. параллелится хорошо

Roman
17.09.2018
08:26:09

Vasily
17.09.2018
08:26:19
Пуляй во флуд

Google

Ayrat
17.09.2018
08:26:22
она быстрая, локальная и надёжная

Bonart
17.09.2018
08:26:34

Vasily
17.09.2018
08:26:59

Roman
17.09.2018
11:56:28
Привет! Как дела?

Андрей
17.09.2018
12:11:52
Пора вводить CAPTCHA?

Roman
17.09.2018
12:23:37
Что-то не могу разобраться с импортами в F#. Почему порядок файлов имеет значение ?

Vasily
17.09.2018
12:24:01
ПОтому что компилятор так работает

Roman
17.09.2018
12:24:23

Vasily
17.09.2018
12:24:29
Последовательно считывает файлы и компилирует код
Лично мое субъективное мнение, что это очень хорошо

Alexey
17.09.2018
12:30:00
импорты работают как заголовочные файлы в сях?
текстовая подстановка

Roman
17.09.2018
12:41:13

Ayrat
17.09.2018
12:46:53
Да, это фича. И мне она тоже нравится
Я пытался думать out-of-the-box, может у меня Стокгольмский синдром
типа может мы просто заложники "фичи"
Не нашёл подтверждения. Я всё равно стараюсь структурировать код слоями в любом случае. Просто F# запрещает НЕ структурировать

Арсений
17.09.2018
13:05:02
@vshapenko ты в этом чате исполняешь роль Олега?

Vasily
17.09.2018
13:05:57
А, ты из понва. Нет, не исполняю

Google

Roman
17.09.2018
14:11:12
Привет!

Vladimir
17.09.2018
14:46:50
А можно как-нибудь через SRTP написать функцию, которая вызывает перегруженный метод?

Roman
17.09.2018
14:50:12

Vladimir
17.09.2018
14:51:08
я же так и сделал) и ругается
хочет чтобы я тип указал, а я не хочу, хочу через SRTP и inline

Friedrich
17.09.2018
14:51:59

Roman
17.09.2018
14:52:05

Friedrich
17.09.2018
14:52:16
А, или ты хочешь чтобы она находила любую из перегрузок?