问题描述
person1.getName()
如何将上述声明的字典值转换为JSON或字符串?
解决方法
假设Dict
实际上是指Internals
记录,则应使用elm/json将其编码为JSON对象:
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