1
apache camelを使用してxmlをjsonに変換しようとしていますが、うまくいきます。しかし、アウトにはすべての属性に「@」が付いています。apache camelを使用してxmlから変換する際に '@'記号が出力jsonに入力される
例:xmlがAAAの場合、jsonで@name:ajayを取得しています。
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>${json.version}</version>
</dependency>
そして、このようなProcessor
実装:
iは、代替ライブラリーとして
XmlJsonDataFormat xmlJsonFormat = new XmlJsonDataFormat();
CamelContext context = new DefaultCamelContext();
try {
xmlJsonFormat.setEncoding("UTF-8");
xmlJsonFormat.setForceTopLevelObject(true);
xmlJsonFormat.setTrimSpaces(true);
xmlJsonFormat.setSkipNamespaces(true);
xmlJsonFormat.setRemoveNamespacePrefixes(true);
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
String ch = "" ;
from("file:src/main/resources/input").marshal(xmlJsonFormat).to("file:src/main/resources/output/");
System.out.println(ch);
}
});
context.start();
Thread.sleep(10000);
} finally {
context.stop();
}
xmljsonサードパーティのライブラリは、デフォルトでそれをしない方法です。可能であれば、そうしないようにこのライブラリを構成する方法を調べる必要があります。そして、私はこのライブラリが死んでいる/死んでいると思うし、私たちはcamel-xmljsonコンポーネントも非難しました。 –
他の方法で私はjsonにxmlを変換できますか? –
@HimanshuKhandelwal、これを適切な方法で変換する方法について考える必要があります。ジャクソンライブラリーを変換用に使用することはできますが、それはすべてjsonフォーマットの仕方に依存します。 –