我刚开始使用Elm进行前端原型设计,并使用我正在开发的Rest API。总体而言,该API返回"合理"的数据结构,可以解码,因为键和值类型是众所周知的,但是有几个资源类型返回一个data
条目,其中只有没有预定结构的原始JSON。
到目前为止,我阅读的所有内容似乎都假设您知道要解码的数据结构,而在普通js中,循环遍历键并反映类型以确定应在运行时如何处理它们相对容易。我还没有看到解决这种类型数据在Elm中应如何处理的明确方法。
例如,
{
"name":"foo",
"data": {
"bar": [{"baz":123}, "quux"]
},
...
}
我想知道是否目前有可能使用类似的方法解析data
条目的值。
function go(obj)
for key in keys(foo)
if foo[key] is an object
go(foo[k])
else if foo[key] is an array
map(go, foo[k])
...
具体来说:
- 目前是否有可能在 Elm 中处理未知、可能深度嵌套和异构的 json 数据?
- 如果可以,你能否给我提供作者旨在如何解码这样的数据的关键概念或高层次直觉?