如何在elm中将dict转换为JSON?或者有没有什么方法可以像我们在JS中所做的那样对dict进行字符串化?
如何将上述声明的字典值转换为JSON或字符串?假设如何在elm中将dict转换为JSON?或者有没有什么方法可以像我们在JS中所做的那样对dict进行字符串化?,json,string,dictionary,decode,elm,Json,String,Dictionary,Decode,Elm,如何将上述声明的字典值转换为JSON或字符串?假设Dict实际上指的是内部记录,则应使用以下代码将其编码为JSON对象: 您的代码中没有Dicts。你是说唱片类型吗? = Sku Internals type alias Internals = { id : String -- READONLY , name : String -- READ/WRITE , imgExtras : ( L
Dict
实际上指的是内部记录,则应使用以下代码将其编码为JSON对象:
您的代码中没有Dict
s。你是说唱片类型吗?
= Sku Internals
type alias Internals =
{ id : String -- READONLY
, name : String -- READ/WRITE
, imgExtras : ( List ImgExtra, String ) -- READ/WRITE
, availableSizes : List String -- READ/WRITE
}
import Json.Encode as Encode
encodeInternals : Internals -> Encode.Value
encodeInternals internals =
Encode.object
[ ( "id", Encode.string internals.string )
, ( "name", Encode.string internals.name )
, ( "imgExtras", encodeImgExtras internals.imgExtras )
, ( "availableSizes", encodeAvailableSizes internals.availableSizes )
]
encodeImgExtras : (List ImgExtra, String) -> Encode.Value
encodeImgExtras (imgExtras, string) =
-- There's no equivalent of a tuple in JSON, so we encode it as an array. But you can of course choose any representation you'd like.
Encode.list
[ Encode.list encodeImgExtra imgExtras
, Encode.string string
]
encodeImgExtra : ImgExtra -> Encode.Value
encodeImgExtra imgExtra =
-- You'll need to implement this one yourself, as you haven't provided its definition.
...
encodeAvailableSizes : List String -> Encode.Value
encodeAvailableSizes availableSizes =
Encode.list Encode.string availableSizes