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.
Question posted in Json
Our archive of expertly curated questions and answers provides insights and solutions to common problems related to this popular data interchange format. From parsing and manipulating JSON data to integrating it with various programming languages and web services, our archive has got you covered. Start exploring today and take your JSON skills to the next level
Our archive of expertly curated questions and answers provides insights and solutions to common problems related to this popular data interchange format. From parsing and manipulating JSON data to integrating it with various programming languages and web services, our archive has got you covered. Start exploring today and take your JSON skills to the next level
2
Answers
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 thedhall-json
package. Let’s call the generated filegenerated.dhall
. After that, we can createresult.dhall
withThen 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.