0

使用 beanstalkd 并将作业放入包含 YAML::Syck 编码的哈希的管/队列中(使用 $YAML::Syck::ImplicitTyping = 1)。

我需要一些 Java 端的语法帮助,关于如何解码处理从 beanstalkd 作业中提取的字符串。Perl 哈希最终被编码为如下所示的 YAML 字符串:

--- NameFirst
--- Mike
--- NameLast
--- Smith
--- DOB
--- 07/07/2007

这些 YAML 记录(如上)一次只处理一个。因此,鉴于上面的字符串,我到底如何让 JYaml 读取它,并使用以下方法解码成一个对象类:

Customer.NameFirst
Customer.NameLast
Customer.DOB

4

2 回答 2

3

我怀疑你正在做 Dump(%hash) 你应该做 Dump(\%hash)。前者转储一个独立的交替键和值列表;后者转储散列,每个值都与一个键相关联,例如:

---
DOB: 07/07/2007
NameFirst: Mike
NameLast: Smith
于 2009-09-11T08:01:33.083 回答
0

您可能会考虑切换到 SnakeYAML。我也通过 YAML::Syck 从 Perl 生成 YAML 以供 Java 使用。我遇到了 JYaml 的一些互操作问题,其中 YAML::Syck 生成了 JYaml 无法解析的有效 YAML。自从切换到 SnakeYAML 后,我遇到的唯一互操作问题就是 YAML::Syck 中的错误。这个答案有更多关于我对 SnakeYAML 的体验的详细信息。

于 2009-12-08T00:39:05.503 回答