请在 2024 Clojure 状态调查! 分享您的想法。

欢迎!请参阅 关于页面 了解更多关于此的工作方式的信息。

0
IO

"empty" 关键字没有多少用处,但显然是有效的,例如

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

但是打印和读取它会导致 *无效标记:

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

在我的情况下,这种情况出现在对 Azure Rest API 调用的响应中。我的测试在真实 API 上使用时将返回的数据作为 mock-data 保存,以便在模拟 API 时使用,此时使用模拟 API 的测试因它而失败。
除了在 pr-str 前显式地尝试移除它之外,还有其他方法吗?

2 个答案

+2
这是我正在寻找的链接!谢谢
0

为什么不用字符串作为map键,而要让关键词太有限制呢?

也许你的Azure客户端通过关键词化键来解释JSON。这将是额外的工作,但对你来说并没有帮助。也许你可以将其关闭。

我真的很不想修改我的应用程序代码。解决方案是在将测试代码存储之前,手动移除不可读的关键词。
...