问题标签 [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.

0 投票
1 回答
177 浏览

clojure - 如何使用 Cheshire 自定义编码器以 JSON 格式打印 EDN 输出

我是 Clojure 的新手,我正在尝试使用针对 java 中定义的类的 Cheshire 自定义编码器将 EDN 输出打印为有效的 JSON 格式。

这会生成以下输出:

我想以正确的 JSON 格式打印它,如下所示。我怎样才能实现它?

提前致谢!

0 投票
1 回答
181 浏览

clojure - 在 .edn 文件中使用 #inst 将时间戳播种到 clojure 中的 jdbc 数据库

我正在使用一个.edn文件作为数据库种子,并且需要一种在该文件中设置时间戳并将其写入数据库而不会出现 java 错误的方法。(事实证明,您不能只输入时间戳作为字符串并让它自动转换,因为我们中的一些人可能习惯于使用比 java 更动态的语言)。

.edn如果我删除#inst并只输入 nil ,我已经得到了以下文件,该文件可以正确播种。

但是#inst如上所述包含此错误:

这里的问题是如何修复该特定错误并在数据库中获取时间戳。

0 投票
1 回答
58 浏览

httprequest - http/post 带有 :edn-params 的防伪令牌

我有以下设置:

  1. 后端的Macchiato框架(即 node.js 上的 ClojureScript),它对 Ring 上的处理进行建模。
  2. 前端由一个小型 React App 组成,用于编辑存储在 atom 中的数据(跟踪各种输入)。

我想通过将其发布到后端的处理程序来使存储在该原子中的数据持久化。最直接的方法似乎只是直接从原子中获取数据并执行以下操作:

但是:默认情况下,Macchiato 要求 POST 请求包含防伪令牌(我目前将其作为属性存储到我的 HTML 元素之一;如果这是不好的做法,请告诉我)。所以我尝试了以下方法:

但是,这不起作用,因为令牌被视为无效而被拒绝。仅当我将数据声明为 :form-params: 时,防伪令牌似乎才被正确处理:

上面的方法确实有效,但是,当然,MIME 类型设置不正确,我必须做一些呼啦圈才能使 EDN 数据在服务器端可用。这种方法似乎确实是错误的。有没有办法正确序列化 EDN 数据并仍然传输防伪令牌?

我对这些东西还是很陌生,所以也许我缺少一些基本的东西。我对防伪令牌的一般用途有误吗?仅在传输表单数据时才有意义(我的数据实际上是;只是直接发布原子会使重新加载存储的数据更容易)。

非常感谢您给我的任何意见!

奥利弗

0 投票
1 回答
301 浏览

java - 如何将 Edn 字符串转换为 Json

我必须从一些用edn body发回响应的站点检索数据。我正在尝试将发回的Edn转换为Json,以便我可以使用 Jsoup 对其进行解析。

我找到了一个能够进行转换的网站,但是如何在java中实现类似的东西?

我尝试了这样的事情,但它并没有完成工作:

有没有办法在不使用闭包的情况下做到这一点?

0 投票
3 回答
1775 浏览

json - 如何在 Clojure 中将 JSON 转换为 EDN?

我认为这是一个简单的问题,但作为 Clojure 的初学者,我想在 Clojure 中将简单的 JSON 转换为 EDN。

我的 JSON:

因此,如果我们假设数据是上面的 json,我尝试使用 Cheshire 将其转换为 EDN,如下所示:

但是,每当我运行这段代码时,都会收到错误消息:

我想我得到这个是因为我的 JSON 不是字符串,但不确定我是否需要先将其转换为字符串,然后再转换为 EDN——或者是否有办法可以直接从 JSON 转换为 EDN?

提前谢谢你的帮助

0 投票
1 回答
60 浏览

clojure - 在 Spacemacs 中将依赖项添加到 deps.edn

我正在尝试将依赖项添加到 deps.edn typing SPC r a p。当我选择一个依赖项时,我收到以下消息:cljr--insert-into-leiningen-dependencies: Search failed: ":dependencies". 所以显然 clj-refactor 无法识别我的 deps.edn 文件。我错过了什么?

0 投票
2 回答
339 浏览

clojure - 将 Java 对象转换为 Clojure 类型

您好目前我正在使用 java.data ( https://github.com/clojure/java.data ) 将 java pojos 转换为 clojure 兼容类型。它不适用于嵌套对象。

例如:

如果我将 Abc 的示例实例传递给 java.data,我得到的输出为:

但我希望输出为:

我怎样才能解决这个问题?

我尝试了 clojure.core bean ( https://clojuredocs.org/clojure.core/bean ),它似乎也能正常工作。

先感谢您。

0 投票
3 回答
1013 浏览

clojure - 无法使用 clojure cli 工具执行 main 函数“运行”-Deps 和 CLI 指南

我正在从官方 clojure 站点https://clojure.org/guides/deps_and_cli做 clojure cli 教程,但是当我想运行以下命令时遇到了此消息:$ clj -X hello/run

我想该命令必须在根文件夹中执行,但以防万一我也在 src.

.edn 错误文件如下:

Clojure 版本:Clojure 1.10.1

不能做这么简单的事情让我很沮丧。

--编辑:我运行了“clojure -Sdescribe”,版本是 1.10.1.492,所以我按照亚历克斯的说法安​​装了最新版本,它运行正常,但后来我再次运行“描述”,版本没有改变。

我懂了:

0 投票
1 回答
177 浏览

npm-install - 所需的 JS 依赖 "@silvia-odwyer/photon" 不可用 -- ClojureScript -- Node.js -- npm -- yarn

我正在做示例项目https://github.com/minimal-xyz/minimal-shadow-cljs-importing-npm以稍后添加 Photon 依赖项https://silvia-odwyer.github.io/photon/guide/using- photon-web/并按照步骤操作后,我收到此警告。

在执行“npx shadow-cljs watch client”或“yarn shadow-cljs watch client”之前,我尝试过:

并且文件确实在 node_modules 文件夹中,但它不起作用

我尝试了“npm cache clean -f”并再次安装

我尝试删除 node_modules 文件夹和 package-lock.jason 文件并再次安装

与https://github.com/minimal-xyz/minimal-shadow-cljs-browser相同的问题

示例项目可以很好地使用包含的依赖项(在安装 Photon 依赖项之前)

这是我安装后的 package.json:

这是我的 shadow-cljs.edn:

这里是 main.cljs 文件,需要/导入与其他相同的依赖项:

我错过了什么?

0 投票
2 回答
327 浏览

xml - 如何在 Clojure 中将 XML 转换为 edn?

我是 Clojure 的新手,想将我拥有的 XML 转换为 edn 对象。

我读取的 XML 文件:

我已将其保存为 'test/resources/vehicle.xml

最终,我希望有一个如下所示的 EDN 对象:

到目前为止,我在 Clojure 中尝试过的是 parse 方法:

但是,这会返回一个 Clojure 哈希,如下所示:

我在转换的初始步骤中遇到了麻烦。提前谢谢你的帮助。