decode : String -> Result String Generic.Value
Use this general type of decoder, it will try out at first to parse a JSON format, then XML, and finally YAML
import Generic
"""
<verzeichnis>
<titel>Wikipedia Städteverzeichnis</titel>
<eintrag>
<stichwort>Genf</stichwort>
<eintragstext>Genf ist der Sitz von ...</eintragstext>
</eintrag>
<eintrag>
<stichwort>Köln</stichwort>
<eintragstext>Köln ist eine Stadt, die ...</eintragstext>
</eintrag>
</verzeichnis>
"""
|> decode
|> Result.withDefault Generic.Null
|> Generic.toString
--> Just "[{\"verzeichnis\":[{\"titel\":\"Wikipedia Städteverzeichnis\"},{\"eintrag\":[{\"stichwort\":\"Genf\"},{\"eintragstext\":\"Genf ist der Sitz von ...\"}]},{\"eintrag\":[{\"stichwort\":\"Köln\"},{\"eintragstext\":\"Köln ist eine Stadt, die ...\"}]}]}]"
"""
[
{
"verzeichnis": [
{
"titel": "Wikipedia Städteverzeichnis"
},
{
"eintrag": [
{
"stichwort": "Genf"
},
{
"eintragstext": "Genf ist der Sitz von ..."
}
]
},
{
"eintrag": [
{
"stichwort": "Köln"
},
{
"eintragstext": "Köln ist eine Stadt, die ..."
}
]
}
]
}
]
"""
|> decode
|> Result.withDefault Generic.Null
|> Generic.toString
--> Just "[{\"verzeichnis\":[{\"titel\":\"Wikipedia Städteverzeichnis\"},{\"eintrag\":[{\"stichwort\":\"Genf\"},{\"eintragstext\":\"Genf ist der Sitz von ...\"}]},{\"eintrag\":[{\"stichwort\":\"Köln\"},{\"eintragstext\":\"Köln ist eine Stadt, die ...\"}]}]}]"