user=> (read-string (pr-str {(keyword "key@other") :stuff}))
RuntimeException 地图字面量必须包含偶数个形式;clojure.lang.Util.runtimeException (Util.java:170)
pr-str 输出 "{:key@other :stuff}", read-string 无法正确解释它。要么 pr-str 需要转义 @ 符号,要么 read-string 需要能够处理关键字内部的符号。
背景:我在通过 Storm bolts 传递电子邮件地址作为键的映射,这些 bolts 需要thrift-serializable格式。使用 pr-str/read-string 组合在这类键上失败,所以我退回到 JSON 序列化。