6

我为 Rebol 2 编写了一个JSON 编码器/解码器。我正在为 Rebol 3 重写它,并希望将它作为编解码器在 Rebol 3 中提供:

load %data.json
save %data.json object
decode 'json to-binary {["some","json"]}

我该怎么办?

在询问时,有关此主题的文档很少。

4

4 回答 4

5

简单的答案是你不能。至于为什么,有几个答案。

  1. 当前的编解码器模型未记录。目前只有 Carl 知道如何编写编解码器。尽管有人可能能够查看源代码并找出答案,但目前还没有。
  2. 当前的编解码器功能不够灵活,无法在这里制作您想要的东西。你可以制作解码器,但不能制作编码器,因为encode它只需要图像、二进制文件或字符串。也许只有一个解码器对你来说就足够了。
  3. 当前模型仅支持本机编解码器。您不能在 Rebol 代码中编写编解码器,对于解析器,这意味着您不能使用parse. 您有解析器的本机代码版本吗?
  4. 当前的编解码器模型是我们希望最终拥有的编解码器模型的占位符。这就是为什么它没有得到很好的记录。我们最终希望支持增量编码/解码、可以直接从文件或其他端口读取的编解码器以及 Rebol 编解码器。但是,除了最初的批评之外,我们还没有真正决定最终模型,甚至还没有开始讨论如何设计它。

我希望现在有更好的答案来回答你的问题。

于 2013-01-31T19:52:53.187 回答
4

编解码器在 imo 中处于高度未完成状态。我提出需要某种流式机制,IIRC Carl 理解这种需求,但解决方案从未在 imo 概述过。任务同上 - 当前的“实施”与 Carl 对 R3 任务的设想相去甚远……

于 2013-02-20T10:35:40.583 回答
2

有一个工具,请阅读:http ://rebol2.blogspot.it/2012/12/json.html

这个: http ://www.rebol.com/article/0522.html

然而 json 是一种处理数据的复杂方式,rebol 块在我看来是完美的。

于 2013-02-01T10:49:41.703 回答
0

我刚刚注意到系统/目录/编解码器已从 Rebol 3 中删除;所以我想该功能在 2009 年 3 月 31 日之后被删除。

>> ? system/catalog
SYSTEM/CATALOG is an object of value:
 datatypes       block!    length: 56
 actions         block!    length: 56
 natives         block!    length: 159
 errors          object!   [Throw Note Syntax Script Math Access Command...
 reflectors      block!    length: 6
 boot-flags      block!    length: 18
于 2013-02-20T10:23:52.520 回答