0

Beanstalkdを使用し、YAML :: Syckでエンコードされたハッシュを含むチューブ/キューにジョブを配置します($ YAML :: Syck :: ImplicitTyping = 1)。

Beanstalkdジョブから取得した文字列をデコードする方法については、Java側で構文のヘルプが必要です。Perlハッシュは、次のようなYAML文字列としてエンコードされることになります。

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

これらのYAMLレコード(上記のとおり)は、一度に1つだけ処理されます。したがって、上記の文字列が与えられた場合、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 によって消費されます。YAML::Syck が JYaml が解析できない有効な YAML を生成していたという JYaml との相互運用の問題に遭遇しました。SnakeYAML に切り替えて以来、私が経験した唯一の相互運用の問題は、YAML::Syck のバグでした。この回答には、 SnakeYAMLでの私の経験に関する詳細が記載されています。

于 2009-12-08T00:39:05.503 に答える