パッケージ com.lmt.lib.bldt.parser
クラス ScoreJsonParser
- Object
-
- 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()
-
メソッドの概要
すべてのメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 List<ContentDescription>
parse(TableDescription tableDesc, PlayStyle playStyle, byte[] raw)
入力された情報を使用して楽曲情報を解析し、楽曲情報一覧を生成して返します。
-
-
-
メソッドの詳細
-
parse
public List<ContentDescription> parse(TableDescription tableDesc, PlayStyle playStyle, byte[] raw) throws IOException
インタフェースからコピーされた説明:Parser
入力された情報を使用して楽曲情報を解析し、楽曲情報一覧を生成して返します。入力データは各難易度表のサーバからダウンロードされた無加工のバイトデータです。 パーサは与えられた情報を基にして正確なデータの構造を特定し、解析した楽曲情報の一覧を返さなければなりません。 元データの内容が正しくないと判定した場合は IOException をスローしてエラー終了とするか、 正しくないデータを無視して解析を続行するかの判断をしてください。処理を続行する場合は
DifficultyTables.printLog(String)
を使用して問題となったデータをログ出力することを推奨します。- 定義:
parse
インタフェース内Parser
- パラメータ:
tableDesc
- 処理対象の難易度表定義playStyle
- 処理対象のプレースタイルraw
- 難易度表のサーバからダウンロードされた無加工のバイトデータ- 戻り値:
- 解析された楽曲情報一覧
- 例外:
IOException
- 入出力エラー、またはデータ不正の検出により解析が続行不可
-
-