我正在尝试使用EDN在一个简单的Python服务器和一个用ClojureScript编写的浏览器内应用程序之间进行通信。
因此,服务器需要为浏览器生成并返回EDN格式的块。
我已经安装了https://github.com/swaroopch/edn_format,它似乎是为Python推荐的EDN库。
但是我希望能够生成一个使用Clojure符号作为键的映射。例如:{:a 1 :b 2}
但是,如果我创建一个Python字典{"a":1, "b":2}并将其传递给dumps函数,最终的EDN会将键保留为字符串,而不是符号。
显然,Python中没有:symbols。但是有没有办法说服edn_format.dumps把字典中的字符串键变成它们呢?或者,有没有更好的用于Python的edn库可以做到这一点?
发布于 2018-06-23 06:10:50
您可以使用keyword_keys参数:
edn_format.dumps({'a': 1}, keyword_keys=True)
# => {:a 1}或者Keyword构造函数:
edn_format.dumps({edn_format.Keyword('a'): 1})
# => {:a 1}https://stackoverflow.com/questions/50995842
复制相似问题