問題
JSON 入力ファイルを取得して XML ファイルに変換する必要があるという問題に取り組んでいます。私が扱っているものの例を以下に示しました。
JSON の場合:
"playerStats": [
{ "jerseyNumber": "23", "fgPercentage": 60, "plusMinus": "plus" },
{ "jerseyNumber": "24", "fgPercentage": 40, "plusMinus": "minus" }
] }
XML の場合:
<BallerStats>
<BallerStat>
<Baller><BallerJersey>23</BallerJersey><Type>Jersey</Type></Baller>
<fgPercentage><Type>PERCENT</Type><Value>60</Value></fgPercentage>
</BallerStat>
<BallerStat>
<Baller><BallerJersey>23</BallerJersey><Type>Jersey</Type></Baller>
<fgPercentage><Type>PERCENT</Type><Value>60</Value></fgPercentage>
</BallerStat>
</BallerStats>
ご覧のとおり、1 対 1 の比率の意味ではありません。JSON では fgPercentage を 60 として表しますが、xml では「値」と「タイプ」で区切ります。
また、特定のタグ名が異なります。JSON では「playerStats」と呼び、XML では同等のタグ「BallerStats」と呼びます。
解決
JSON ファイルには、coachstats や fanstats などの playerstats 以外の多くのフィールドを含めることができますが、playerstats のみを気にすることに注意してください。
以下は私が思いついたものですが、これも間違っている可能性があります。
- Json をスキャンして「playerStats」を探します
- 見つからない場合、何もしません。
- 見つかった場合は、 jerseyNumber 、 fgPercentage などの貴重な情報を取得し、 plusMinus を無視して、これらの値を使用してテンプレート クラスのオブジェクトに格納します。
- 次に、オブジェクトを使用して適切な XML タグを生成します。
私のアプローチが効果的か効率的かはわかりません。私は提案を聞きたいと思っています.Javaでこれを行っているので、信頼できる人気のあるライブラリを自由に参照してください. コード スニペットを提供していただければ、すべてのアプローチをぜひご覧ください。