Dhall is famous for generating JSON, namely from input.dhall
to output.json
. Is it possible to write a “JSON transformer” in Dhall, namely “input.json
+ rules.dhall
→ output.json
”? It still sounds functional (two input and one output), but I wonder whether Dhall is the right tool for this purpose. I know how to import the JSON file as bytes, but I hear that Dhall intentionally avoids supporting any text parsing.
Parse JSON in Dhall
45 views Asked by Franklin Yu At
2
There are 2 answers
0
On
Instead of parsing JSON in Dhall, I guess the idiomatic way is to generate Dhall code from the JSON, which can be done by the json-to-dhall
utility from the dhall-json
package. Let’s call the generated file generated.dhall
. After that, we can create result.dhall
with
let original = ./generated.dhall
in original ⫽ { someKey = "new value" }
Then we can convert the data back to JSON with dhall-to-json
.
Currently Dhall does not support a way to import JSON expressions at runtime. You can only conver them to Dhall using the
json-to-dhall
utility.