问题标签 [cheshire]

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.

0 投票
1 回答
237 浏览

json - 柴郡可以省略没有值的键吗?

我正在使用Cheshire为如下数据结构生成一些 JSON:

这会产生这样的 JSON:

我想要的是让 JSON 省略没有值的键;例如

柴郡能做到吗?我当然可以在调用之前预先过滤地图generate-string,但是由于 Cheshire 无论如何都必须遍历我的数据结构,我认为指示 Cheshire 进行过滤会更好。

0 投票
1 回答
842 浏览

json - 将 Clojure 字节数组编码为 JSON

我需要将 Clojure 字节数组编码为 JSON。我一直在尝试使用 Cheshire 的add-encoder函数来做到这一点,如下所示:

问题是读者总是抱怨不匹配的分隔符。我正在尝试编码如下内容:

但这总是给我

所以我正在尝试添加一个自定义编码器。我是否以正确的方式这样做?

0 投票
1 回答
332 浏览

clojure - 在 Clojure 中将记录编码为带有附加类型字段的 JSON 对象

Cheshire 的自定义编码器似乎适合这个问题,我写了一个小辅助函数:

但它会产生一个奇怪的拖尾""

=> {"a":"abc","type":"A"} ""

这是什么原因造成的?还有另一种值得考虑的方法(我还需要能够解码回基于此类型令牌的记录)?

0 投票
2 回答
1936 浏览

json - Clojure JSON:异常:com.fasterxml.jackson.core.JsonGenerationException:无法 JSON 编码类的对象:

我正在尝试使用 clojure neocons 在我的 Neo4j 数据存储中创建一个节点,但我遇到了一个我认为与格式化 json 相关的错误:

根据错误报告,我怀疑这可能与柴郡有关。但是我很困惑,因为我没有在发生错误的文件中包含 Cheshire 库。

我有这个作为我的包装器,因为我正在发出 cors POST 和 GET 请求,我需要从我的 controller.clj 返回 JSON

以下是我的 controller.clj 中引用的库

这是我的 controller.clj 中的 POST 端点代码

以下是通过我的模型并在 dao_graph.clj 中找到的引用库

以下是在 dao_graph.clj 中调用的函数的定义:

这是一个密码查询,它返回一个以“...”为键的地图

我非常感谢您帮助解决这个问题。

0 投票
0 回答
243 浏览

clojure - Clojure - json响应中的url“格式”

我用 Clojure liberator编写了一个 REST API ,并且我有这个功能,以构建 URL:

然后我使用halresource来表示资源并使用cheshire来解析 json。当我使用curl时,在 json 响应中,URL 显示为:

但是如果我使用一些工具,比如 Postman,URL 会正确显示

有什么建议吗?

更新:我重新检查并正确生成了所有 json,但是当我使用 curl 或尝试通过浏览器访问端点时,URL 显示为:http:\/\/localhost:8080\/api\/customer\/1

0 投票
1 回答
629 浏览

clojure - 为什么 pmap|reducers/map 不使用所有 cpu 内核?

我正在尝试解析一个包含一百万行的文件,每一行都是一个 json 字符串,其中包含有关一本书的一些信息(作者、内容等)。我正在使用iota加载文件,因为OutOfMemoryError如果我尝试使用slurp. 我也在使用cheshire来解析字符串。该程序只需加载一个文件并计算所有书籍中的所有单词。

我的第一次尝试包括pmap做繁重的工作,我认为这基本上会利用我所有的 cpu 内核。

虽然它似乎确实使用了所有核心,但每个核心很少使用超过 50% 的容量,我的猜测是它与 pmap 的批量大小有关,所以我偶然发现了一些相对较老的问题,其中一些评论引用了clojure.core.reducers库.

我决定使用以下方法重写函数reducers/map

但是 cpu 使用率更差,与之前的实现相比,它甚至需要更长的时间才能完成:

我究竟做错了什么?解析大文件时,mmap loading + reducers 是正确的方法吗?

编辑:是我正在使用的文件。

EDIT2:以下是使用iota/seq而不是的时间iota/vec

0 投票
1 回答
236 浏览

jdbc - 在 clojure jdbc 中检查结果集是否为空

我将 clojure 与 jdbc、compojure、cheshire、postgresql、c3p0、tryin make REST 一起使用。当我将此代码用作处理程序时

如果 reslutset 不为空,我会根据需要进行响应,但如果它为空,我会得到空括号 []。

这也是我的项目依赖项

0 投票
2 回答
938 浏览

json - 在 clojure 中解码 JSON、clojure.data.json 和 cheshire.core,不能自定义解码 w/cheshire

我的项目使用读/写库解析 JSON,称为:

柴郡核心

我遇到了问题,试图让解码(func)工作,所以我开始搞乱:

数据.json

我的 JSON 包含由名为“zone”的字段组成的数据,其中包含一个带有 :keys 的向量,例如 {:zone : [:hand :table]} 存储在向量中的字符串中,如下所示:{“zone " : ["手" "桌子"]}

所以我想出了如何使用以下方法转换示例数据:

太好了,然后我需要弄清楚如何为 cheshire 实现解码器,我的逻辑无法做到这一点,我只花了大约一个小时的时间,但我一直在使用 data.json 和解码器我认为功能相对容易。

我让我的项目开始工作,这里是一些示例代码:

这是使用柴郡:

这是使用data.json:

我想从控制台得到这两个的底部结果:

问题是我想使用 cheshire ps 我正在阅读 cheshire 的工厂部分吗?也许这更容易?

0 投票
1 回答
237 浏览

clojure - 如何使用 GET 请求传递数据?

我想通过 GET 请求传递表单数据。

我在这个卷曲上取得了成功: curl http://sample.com -d 'action=login_request&user_name=balvan'

但我需要从-d. 使用此函数调用:

如何在请求正文中添加那些“-d”参数?

我有[org.httpkit.client :as http-client]ns 声明和[cheshire "5.8.1"]项目的依赖项。

0 投票
1 回答
206 浏览

clojure - 从 data.json 转换为 cheshire

我对 Clojure 完全陌生。有时我仍然在为阅读功能而苦恼。

我正在尝试更改此功能以使用 checkshire。这是我的尝试:

功能键阅读器功能:

功能 :

我比这样调用函数:

(json->messages 消息)

msg 是一个 json 字符串。

但是,我在尝试时收到以下错误:

tech.matterindustries.titan.ion.lambda.sqs-receive/json->messages (sqs_receive.clj:36) 处的执行错误 (ArityException)。传递给的 args (5) 数量错误:cheshire.core/parse-smile