0

問題

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 のみを気にすることに注意してください。

以下は私が思いついたものですが、これも間違っている可能性があります。

  1. Json をスキャンして「playerStats」を探します
  2. 見つからない場合、何もしません。
  3. 見つかった場合は、 jerseyNumber 、 fgPercentage などの貴重な情報を取得し、 plusMinus を無視して、これらの値を使用してテンプレート クラスのオブジェクトに格納します。
  4. 次に、オブジェクトを使用して適切な XML タグを生成します。

私のアプローチが効果的か効率的かはわかりません。私は提案を聞きたいと思っています.Javaでこれを行っているので、信頼できる人気のあるライブラリを自由に参照してください. コード スニペットを提供していただければ、すべてのアプローチをぜひご覧ください。

4

2 に答える 2