我们如何在Elm中将字典转换为JSON?还是有什么方法可以像我们在JS中那样对字典进行分类?

问题描述

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...