gpt4 book ai didi

erlang - 如何将字符串序列化的 Erlang 术语反序列化为 Java 中的 JInterface 对象?

转载 作者:行者123 更新时间:2023-12-02 22:08:19 24 4
gpt4 key购买 nike

我的界面系统提供了一个来自 Erlang 世界的结果,它发送一个 erlang 术语的字符串表示,例如元组列表:

[ {"key1" , ["AAA", "BBB"] } , {"key2" , ["CCC", "DDD"] } ]

一旦我在 Java 中收到这个字符串,我想使用 OTP 库(com.ericsson.otp.OtpErlangList 等)解析它(反序列化)。

在我的情况下,我不想直接连接到 Erlang OTP 或使用 Json 或 Xml(如果可能,尝试尽可能原生地处理它)。

当我将字符串转换为 OtpErlangList 时,我得到一个整数列表,所以总的来说我相信它只是转换为字符代码,因为 erlang 中的字符串是一个代码列表。看起来 JInterface 中没有反序列化器。如果是这种情况,那么我不得不选择 JSON。

必须有办法,因为 OtpErlangObject(和所有其他子类)有一个 toString 方法。为什么他们不提供逆转的能力( fromString(String str) )?

重申:如何将 erlang 术语字符串表示形式直接从字符串转换为 Java 中的 JInterface 对象(没有节点连接、与 JSON 接口(interface)等)。

最佳答案

据我所知,JInterface 不提供此类功能。它旨在通过 Erlang 内部网络协议(protocol)与 Erlang 节点进行通信。在您的情况下,我可能会编写一个类似于 antlr 的解析器.基于语法,您可以构建任何您喜欢的对象结构。

关于erlang - 如何将字符串序列化的 Erlang 术语反序列化为 Java 中的 JInterface 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15775554/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com