JSON作成の基本(MOD作成者向け)

レンアイシステムのMODは、設定・キャラクター・イベントをJSONで記述します。ここでは「つまずきポイント」だけを最短で押さえます。

JSONとは?

JSONは「データの形」を表現するためのフォーマットです。文字列・数値・配列・オブジェクト(辞書)を組み合わせて書きます。

基本の型

オブジェクト({ })

{
  "id": "my_char",
  "age": 17
}

配列([ ])

{
  "tags": ["明るい", "真面目"],
  "supported_genders": ["male", "female"]
}

値の種類

{
  "name": "Sakura",     // 文字列(必ず " で囲む)
  "age": 17,            // 数値
  "enabled": true,      // 真偽値(true/false)
  "note": null          // null(値なし)
}

絶対に守るルール(よくあるミス)

  • コメント禁止: JSONはコメントを書けません(///* */ はNG)
  • 末尾カンマ禁止: 最後の要素の後ろにカンマを付けない
  • キーは必ずダブルクォート: { id: "x" } はNG、{ "id": "x" } が正
  • 文字列は必ずダブルクォート: シングルクォート(')は使わない

末尾カンマの例(NG)

{
  "id": "my_char",
}

正しい例(OK)

{
  "id": "my_char"
}

ファイルパスの書き方(MODで重要)

MOD内の画像・音声などは、基本的にMODフォルダ内からの相対パスで指定します。

{
  "portraits": {
    "spring": {
      "casual": {
        "normal": "portraits/spring/casual/normal.png"
      }
    }
  }
}

パスでやりがちな失敗

  • ..// で始める(禁止)
  • 大文字小文字の不一致(環境によって問題になります)
  • フォルダ名を変えたのにJSONのパスを更新し忘れる

おすすめツール

  • VSCode: JSONの構文エラーがすぐ分かる
  • JSON Lint: ブラウザで検証できる(例: jsonlint.com

次に読む