PyYamlで作成されたYamlをSnakeYamlに渡していますが、Snakeyamlは最初の行を超えて何も認識していないようです!! 存在し、python/objectが宣言されています。私はすでにJavaで同じオブジェクトを設定しています。オブジェクトタイプがアサートまたは割り当てられているオブジェクト配列にloadAllを表示する例はありますか?
良い電話...私が最初に投稿したとき、コンピュータから離れていました。
これが、SnakeYamlを使用してJavaアプリケーションにアクセスしようとしているPyYamlのデータです。
--- !!python/object:dbmethods.Project.Project {dblogin: kirtstrim7900, dbname: 92218kirtstrim_wfrogls,dbpw: 1234567895#froggy, preference1: '', preference2: '', preference3: '', projName: CheckPoint Firewall Audit - imp, projNo: 1295789430544+CheckPoint Firewall Audit - imp, projectowner: kirtcathey@sysrisk.com,result1label: Evidence, result2label: Recommend, result3label: Report, resultlabel: Response,role: owner, workstep1label: Objective, workstep2label: Policy, workstep3label: Guidance,worksteplabel: Procedure}
上記の単一のインスタンスだけでなく、複数のオブジェクトもあるため、誰かがよく知っている場合を除いて、SnakeYamlでloadAllを使用する必要があります。
コードに関しては、これが私がSnakeYamlドキュメントから持っているすべてです:
for (Object data : yaml.loadAll(sb.toString())) {
System.out.println(data.toString());
}
次に、このエラーがスローされます。
Exception in thread "AWT-EventQueue-0" Can't construct a java object for tag:yaml.org,2002:java/object: ......
Caused by: org.yaml.snakeyaml.error.YAMLException: Class not found: ......
小さなコードスニペットからわかるように、このすべての情報が提供されていなくても、オブジェクトを任意にキャストする方法についての答えを知っている人なら誰でも、おそらく質問に答えることができます。
どうも。
各エントリの先頭にある2つの感嘆符(!!)を解析すると、次のようになります。「」の1行73列でマッピング値は許可されていません。
エラーとして。YAMLを使用する目的は、解析に関連するコーディングを減らすことでした。なんらかの理由で着信コードと発信コードを振り返って解析する必要がある場合、YAMLは最悪です!! そして、PythonミドルウェアがJavaアプリケーションと通信できるようにするXMLまたはその他のものを喜んで元に戻します。