If we're going to talk about replacing XML with better data formats, why not switch to S-expressions?
(feed
(version https://jsonfeed.org/version/1)
(title "My Example Feed")
(home-page-url https://example.org)
(feed-url https://example.org/feed.json)
(items
(item (id 2)
(content-text "This is a second item.")
(url https://example.org/second-item))
(item (id 1)
(content-html "Hello, world!
")
(url https://example.org/initial-post))))
This looks much nicer IMHO than their first example: {
"version": "https://jsonfeed.org/version/1",
"title": "My Example Feed",
"home_page_url": "https://example.org/",
"feed_url": "https://example.org/feed.json",
"items": [
{
"id": "2",
"content_text": "This is a second item.",
"url": "https://example.org/second-item"
},
{
"id": "1",
"content_html": "Hello, world!
",
"url": "https://example.org/initial-post"
}
]
}
There's EDN, which is to Clojure what JSON is to JS: a format close to the language's way of representing data.
https://github.com/edn-format/edn
Example:
https://github.com/milikicn/activity-stream-example/blob/4db...
Not S-expression-based, though.