Share your thoughts in the 2021 Clojure Community Survey!

Welcome! Please see the About page for a little more info on how this works.

0 votes
in IO by

An "empty" kyword is not of much use but apparently valid, like in :

({(keyword "") 1} (keyword ""))

But printing and reading it results in *Invalid token: :

(read-string (pr-str{(keyword "") 1}))

In my case this situation occured in a reponse from an Azure Rest APi call. My tests store the returned data as mock-data when using the real API for use in regression test when mocking the API - and the tests with mocked API fail because of it.
Is there a way around it other than to try to remove it explicitly before pr-str?

2 Answers

+2 votes
by
by
That was the link I was looking for! Thx
0 votes
by

Why not use strings as map keys, if keywords are too restrictive?

Perhaps your Azure client interprets JSON by keywordizing keys. That's extra work which, in your case, is not helping. Perhaps you can turn it off.

by
I really don't want to change my application code. The solution will be to manually remove the unreadable keywords before storing in the test code.
...