Java で XML スキーマから JSON スキーマを生成したり、JSON スキーマから XML スキーマを生成したりできるツールやアプローチを知っている人はいますか?
5 に答える
あまりエレガントではありませんが、jackson はJava クラスから json スキーマを生成できます。したがって、xml スキーマを取得し、そこから jaxb アノテーションを使用して Java クラスを生成し、 jackson が jaxb アノテーションをサポートしているため、そこから json スキーマを生成できます。
スキーマに一致するPOJOを取得できる場合(たとえば、xjcを使用)、Jacksonを使用してJSONスキーマを生成できます(ObjectMapper.generateSchema(...)を参照)。
XML スキーマから JSON 構造を生成する XSLT スクリプトをかなり簡単に作成できると思います。これが機能するのは、XSLT が XML の読み取りと変換を完全に満足しており、XML スキーマが単なる XML であるためです。
反対側に行くのは少し難しいでしょう。JSON スキーマを読み取って XML を出力できるものが必要です。このためには、パーサーが必要です。おそらく、解析の AST を構築する何かが必要です。これとツリー ウォークを使用すると、XML スキーマをかなり簡単に生成できる可能性があります。
ANTLRを使用すると、文法を定義し、パーサーと AST をかなり簡単に構築できます。これには、AST をたどるのに役立つある種の「構造化テキスト」ジェネレーターがあります。
当社のDMS Software Reengineering Toolkitは ANTLR に似ていますが、より多くの機械を備えています。DMS を使用すると、JSON 構文を定義し、AST を構築してから、ソースからソースへの変換を記述して、それをスキーマを表す XML にマップできます。
たとえば、CXF は Json または XML でリクエストを処理できるため、この 2 つを変換する方法が必要です。
XML から JSON への変換は非常に簡単で、さまざまな方法で実行できます。
http://answers.oreilly.com/topic/278-how-to-convert-xml-to-json-in-Java
http://www.json.org/javadoc/org/json/XML.html#toJSONObject %28java.lang.String%29
XML から JSON への変換については、これを見てください。非常に単純なようです。
http://www.bramstein.com/projects/xsltjson/
http://code.google.com/p/xml2json-xslt/
http://json-lib.sourceforge.net/index.html
http://x-stream.github.io/ライブラリもあり、両側で (POJO にも) 変換できます。ここで見つけることができる簡単な使用例: Convert XML to JSON format
/編集:アップ、質問を正しく理解していないようです:P