我正在实现从HTML5应用程序到Datomic数据库的基本端到端功能.第一个调用端口是让客户端直接向Datomic REST API(http://docs.datomic.com/rest.html)发出AJAX调用.使用这种方法需要解决的问题是数据在EDN中返回,而客...

我正在实现从HTML5应用程序到Datomic数据库的基本端到端功能.第一个调用端口是让客户端直接向Datomic REST API(http://docs.datomic.com/rest.html)发出AJAX调用.
使用这种方法需要解决的问题是数据在EDN中返回,而客户端应用程序想要使用JSON.
我可以看到有可能的方法在客户端上使用Javascript,例如,使用一些库代码来翻译EDN(例如,我发现jsedn – https://www.npmjs.com/package/jsedn)
有没有人有使用Javascript做这样的工作的经验?或者,是否更普遍地接受EDN到JSON应该在Clojure / Clojurescript领域(客户端或服务器端)完成,如http://swannodette.github.io/2014/07/26/transit–clojurescript/中所述?
谢谢
菲尔
[编辑04年3月15日 – 澄清:
通过客户端Clojurescript,我正在考虑采用将EDN转换为JSON的CLJS代码,将其编译为JS,然后将其用作客户端库.
解决方法:
没有什么可以反对你提到的jsedn项目,但是它在两年内没有看到承诺并且有一些长期存在的问题/公关没有得到解决:我厌倦了依赖它.
您可以通过创建一个新的clojurescript项目轻松实现您所追求的目标,并且^:导出一个解析传入的edn并吐出JS对象的函数(因为没有充分的理由对edn进行反序列化,将其序列化为JSON,然后再次反序列化!):
(ns app.edn (:require [cljs.reader :as r]))
(defn ^:export read-edn [s]
(let [data (r/read-string s)]
; Log/prettify for JS/whatever
(clj->js data)))
编译它,需要JS中的文件,它将在app.edn.read_edn()中可用.
本文标题为:javascript – 客户端转换EDN到JSON(HTML5应用程序消耗的数据库数据)


基础教程推荐
- 使用postcss-plugin-px2rem和postcss-pxtorem(postcss-px2rem)-px自动转换rem的配置方法-vue-cli3.0 2023-10-08
- vue联动mockjs模拟请求获取数据 2023-10-08
- idea中的new里没有Vue Component 2023-10-08
- ajax文件上传成功 解决浏览器兼容问题 2022-12-28
- 编写轻量ajax组件第三篇实现 2022-12-18
- Ajax实现省市区三级级联(数据来自mysql数据库) 2023-01-21
- 实现Vue路由切换的监听 2023-10-08
- JavaScript实现双向链表过程解析 2023-08-08
- JavaScript垃圾回收机制(引用计数,标记清除,性能优 2022-08-31
- Entity Framework Code First数据库连接 转载 https://www.cnblogs.com/libingql/p/3351275.html 2023-10-26