That's is roughly how it's done in Reagent[1]/re-frame[2]:
[:div "The" [:a {:href "https://www.json.org/"} "JSON format"]
" was invented by " [:em "Douglas Crockford"] "."]
The fact that EDN[3] supports keywords makes it a bit easier to parse. Representing HTML in EDN this way was first done in a library called Hiccup[4], so it’s usually called “Hiccup” even when encountered outside of the original library.
1: https://holmsand.github.io/reagent/
2: https://github.com/Day8/re-frame
3: https://github.com/edn-format/edn
4: https://github.com/weavejester/hiccup