【发布时间】:2013-01-16 18:17:52
【问题描述】:
我写了一个JSON encoder/decoder for Rebol 2。我正在为 Rebol 3 重写它,并希望在 Rebol 3 中以codec 的形式提供它:
load %data.json
save %data.json object
decode 'json to-binary {["some","json"]}
我该怎么办?
在询问时,关于这个主题的文档很少。
【问题讨论】:
我写了一个JSON encoder/decoder for Rebol 2。我正在为 Rebol 3 重写它,并希望在 Rebol 3 中以codec 的形式提供它:
load %data.json
save %data.json object
decode 'json to-binary {["some","json"]}
我该怎么办?
在询问时,关于这个主题的文档很少。
【问题讨论】:
简单的答案是你不能。至于为什么,有几个答案。
encode 只接收图像、二进制文件或字符串。不过,也许仅仅拥有一个解码器就足够了。parse。您有解析器的本机代码版本吗?我希望你的问题现在有更好的答案。
【讨论】:
编解码器在 imo 中处于高度未完成状态。我提出需要某种流式机制,IIRC Carl 理解这种需求,但解决方案从未在 imo 中概述过。任务同上 - 当前的“实施”与 Carl 对 R3 任务的设想相去甚远……
【讨论】:
有一个工具,读这个:http://rebol2.blogspot.it/2012/12/json.html
还有这个: http://www.rebol.com/article/0522.html
虽然 json 是一种处理数据的复杂方式,但我认为 rebol 块是完美的。
【讨论】:
我刚刚注意到 system/catalog/codecs 已从 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
【讨论】:
system/catalog/codecs 在某个时候变成了system/codecs,甚至具有相同的结构。功能还在。然而,我们从来没有让夹层编解码器成为可能,即使是从一开始。