问题标签 [edn]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
clojure - edn/read 不保持序列的顺序
我正在使用 clojure 库来读取 edn 文件现在我的 data.edn 文件看起来像这样。
现在,当我使用 edn/read 时,得到返回的地图看起来像
正如您在上面的序列位置中看到的,值的位置,即priorityLoc2 和priorityLoc1 发生了变化。这会导致应用程序出现问题,这些应用程序按优先顺序查找站点位置。我不确定为什么在 edn/read 期间顺序会改变,有没有办法确保序列的顺序没有改变?
我尝试了 edn/read,如 edn/read https://clojuredocs.org/clojure.edn/read的文档页面中所示
更新:
当我传递我的数据 edn 文件时,我可以看到 edn/read 正在更改顺序,我正在尝试使用较小的数据文件来复制问题,因为我无法在此处共享我的 data.edn 文件。使用我较小的数据文件,该问题无法重现。
所以,我不确定 edn/read 不会改变顺序,edn 是否有机会尝试进行排序(如按名称排序?),这会导致顺序改变。有没有办法确保订单不会改变。下面是 edn 阅读器的代码。
http - 如何在 Clojure 中使用 POST 处理程序接收 edn?(以及如何发送)
我通过 POST 使用发送地图cljs-http
,我想用 Compojure POST 处理程序接收它并将其存储在数据库中。我对在运输途中应该如何处理地图感到完全困惑......有很多选择...... pr-str
,,prn
等等read-string
。在发送方,它似乎cljs-http
可能会将我的地图强制转换为 edn。如果没有工作的 Compojure 处理程序,我无法知道。实际上,老实说,我对 edn 是什么还有些不清楚。我收集的是 Clojure 的数据格式。据我所知,我正在处理的实际上只是将 edn 转换为字符串格式,以便发送和返回。但是,请求上的 :data 值是一个对象,而不是字符串。一个工作示例cljs-http
POST 和允许我使用客户端发送的原始地图的 Compojure POST 处理程序会很棒。我不知道我的:edn-params
目的
或者如果我应该使用其他东西。我习惯了 JSON,我想知道我是否应该将数据转换为 JSON 并在接收端返回。我不确定使用 edn 的优势。
在接收方,我有:
我知道这可能是错误的......但我想我会分享我在哪里。
更新:经过一番思考,标题应该是“在 Reagent 应用程序和服务器之间发送地图的最佳方式是什么?”。我只需要能够将地图发送到服务器,并向该服务器发出请求并拿回地图。
clojure - 如何在 Clojure 中从映射向量(Elasticseach 存储桶)中检索给定键的 doc_count
从 Clojure Elasticsearch 聚合查询中,我有一个如下图的存储桶向量,其中键是数字标识符,而 doc_count 是出现次数。
:buckets [{:key 14768496, :doc_count 464} {:key 14761312, :doc_count 440} {:key 14764921, :doc_count 412}]
给定一个值,14768496
我希望能够在此处检索 doc_count 464
。