パッケージ com.lmt.lib.bldt.parser

クラス ScoreJsonParser

  • すべての実装されたインタフェース:
    Parser

    public class ScoreJsonParser
    extends Object
    implements Parser
    楽曲情報 JSON から楽曲情報を抽出するパーサです。

    楽曲情報 JSON は、多くの難易度表が採用している共通フォーマットの JSON です。 実際には必須情報と数多くの任意情報で定義された JSON となっており、当ライブラリでは統一フォーマットとして使用可能な 部分のみを抽出して難易度表全体の統一フォーマットとして昇華しています。

    具体的には以下のようなフォーマットの JSON を解析します。文字コードは UTF-8 を前提とします。

     [
       {
         "level": "(難易度を表す文字列)",
         "title": "(タイトル)",
         "artist": "(アーティスト)",
         "url": "(楽曲本体入手先URL)",
         "url_diff": "(差分譜面入手先URL)",
         "md5": "(ハッシュ値(MD5))",
         "sha256": "(ハッシュ値(SHA-256))",
         他、独自情報
       }, …以下複数
     ]
    導入されたバージョン:
    0.1.0
    • コンストラクタの詳細

      • ScoreJsonParser

        public ScoreJsonParser()
    • メソッドの詳細

      • parse

        public List<ContentDescription> parse​(TableDescription tableDesc,
                                              PlayStyle playStyle,
                                              byte[] raw)
                                       throws IOException
        インタフェースからコピーされた説明: Parser
        入力された情報を使用して楽曲情報を解析し、楽曲情報一覧を生成して返します。

        入力データは各難易度表のサーバからダウンロードされた無加工のバイトデータです。 パーサは与えられた情報を基にして正確なデータの構造を特定し、解析した楽曲情報の一覧を返さなければなりません。 元データの内容が正しくないと判定した場合は IOException をスローしてエラー終了とするか、 正しくないデータを無視して解析を続行するかの判断をしてください。処理を続行する場合は DifficultyTables.printLog(String) を使用して問題となったデータをログ出力することを推奨します。

        定義:
        parse インタフェース内 Parser
        パラメータ:
        tableDesc - 処理対象の難易度表定義
        playStyle - 処理対象のプレースタイル
        raw - 難易度表のサーバからダウンロードされた無加工のバイトデータ
        戻り値:
        解析された楽曲情報一覧
        例外:
        IOException - 入出力エラー、またはデータ不正の検出により解析が続行不可