Size: a a a

2021 January 03

A

Aragaer in Haskell Start
А еще вот подскажите, как мне сконструировать произвольный Value вручную? То есть объект с кучей разных полей, списки там, строки и прочее.
источник

к

кана in Haskell Start
1. если это статический json, то мне нравится aesonQQ

[aesonQQ| { "a": 1 } |]
источник

A

Aragaer in Haskell Start
условно статический, часть значений я выковыряю из другого json
источник

к

кана in Haskell Start
если динамический, то там же есть все конструкторы уже

Object (HashMap.fromList [("a", Number 1)])
источник

A

Aragaer in Haskell Start
а, вот, Number и String и прочее нужны чтобы сделать эту мапу, понял
источник

A

Aragaer in Haskell Start
по-моему есть еще object, который из [Pair] делает Object
источник

к

кана in Haskell Start
не обязательно мапу

Array (Vector.fromList [
 Number 1,
 String 2,
 Object (HashMap.fromList [("a", Number 3)])
 ])
источник

A

Aragaer in Haskell Start
я просто не понял, как правильно Pair конструировать
источник

A

Aragaer in Haskell Start
теперь ясно, буду мучать
источник

A

Aragaer in Haskell Start
data Pair = (Text,Value)
ну и вобщем вот
источник

A

Aragaer in Haskell Start
а, и есть еще .=
источник

A

Aragaer in Haskell Start
import Data.Aeson (Value,Array,decode,object,(.=))
Perhaps you want to add ‘Array’ to the import list in the import of
     ‘Data.Aeson’ (src/Image2.hs:7:1-50).
   |
130 |                     ,("mounts",Array V.fromList[])]
источник

A

Aragaer in Haskell Start
не понимаю 8)
источник

JS

Jerzy Syrowiecki in Haskell Start
Aragaer
import Data.Aeson (Value,Array,decode,object,(.=))
Perhaps you want to add ‘Array’ to the import list in the import of
     ‘Data.Aeson’ (src/Image2.hs:7:1-50).
   |
130 |                     ,("mounts",Array V.fromList[])]
вы импортируете тип Array, но используете конструктор Array из типа Value
источник

JS

Jerzy Syrowiecki in Haskell Start
конструктор без типа импортировать нельзя
источник

JS

Jerzy Syrowiecki in Haskell Start
но можно с типом:

import Data.Aeson (Value(Array))
источник

A

Aragaer in Haskell Start
ага, спасибо
источник

A

Aragaer in Haskell Start
  let spec = object[("ociVersion",String_"1.0.0")
                  ,("root",object[("path",String_"rootfs")])
                  ,("linux",object[("namespaces",Array$V.fromList[object[("type",String_"user")]])])
                  ,("mounts",Array$V.fromList[object[("destination",String_"proc")
                                                    ,("source",String_"proc")
                                                    ,("type",String_"proc")]])]
источник

A

Aragaer in Haskell Start
выглядит ужасно. Но дальше туда будут добавляться еще поля, уже "динамические"
источник

AA

A64m AL256m qn<co... in Haskell Start
так сделать статическую часть как хаскельный рекорд да и все
источник