Skip to content

I03. JSON Import ​

component icon

概要 ​

JSON形式から建物データをインポートするコンポーネントです。 単一のJSONファイルから建物データを読み込み、BuildingDataオブジェクトとして出力します。

  • グループ: 1. Import & Generate
  • ニックネーム: JSON Imp

機能 ​

  • 単一JSONファイルからのデータ読み込み
  • JSON検証とエラー報告
  • トリガー式の読み込み(Importパラメータ)
  • ファイル監視による自動再読込(Watchパラメータ — MCPサーバ / AIエージェント等による外部編集を検知)
  • Grid_Nodes(交点オフセット)節の読み込み(v5.9.0)
  • 版数警告 V-10 — データの version がリーダー対応版(5.9.0)より新しい場合に Warning を表示(v5.9.0)

入力パラメータ ​

パラメータ名型デフォルト説明
File (F)Text-JSONファイルのパス (.json)
Import (I)BooleanfalseTrueに設定すると読み込み実行
Watch (W)Booleanfalseファイルの外部変更(MCPサーバ / AIエージェント / テキストエディタ等)を検知して自動再読込。Import=True のときのみ有効

出力パラメータ ​

パラメータ名型説明
Data (D)GenericBuildingDataオブジェクト
Origin (O)Point原点座標(Global設定から生成)
Success (S)Boolean読み込み成功フラグ
Info (I)Text読み込んだデータの情報(要素数など)

使用方法 ​

基本的な使い方 ​

  1. Fileパラメータに.jsonファイルのパスを接続
  2. Importパラメータをtrueに設定
  3. 読み込みが実行され、結果がInfoに表示される
  4. (任意)Watchをtrueにすると、外部プログラムがファイルを書き換えたときに自動で再読込される

JSON形式の例 ​

json
{
  "$schema": "https://makebuildingpro.com/schema/v5.9.0",
  "version": "5.9.0",
  "Global": {
    "Origin_X": 0.0,
    "Origin_Y": 0.0,
    "UnitSystem": "metric"
  },
  "Grids": [
    { "Axis": "X", "Label": "X1", "Span": 0 },
    { "Axis": "X", "Label": "X2", "Span": 6000 },
    { "Axis": "Y", "Label": "Y1", "Span": 0 },
    { "Axis": "Y", "Label": "Y2", "Span": 8000 }
  ],
  "Grid_Nodes": [
    { "X_Label": "X2", "Y_Label": "Y2", "Offset_X": 0, "Offset_Y": 300, "Notes": "敷地境界なり" }
  ],
  "Levels": [
    { "Name": "1F", "Label": "1FL", "Height": 4000 }
  ]
}
  • Grids は Span 入力方式(前の通りからの相対距離)。絶対座標 Distance はファイルに保存されず、読み込み時に AccumulateGridDistances で Span から自動復元されます
  • Grid_Nodes(v5.9.0)は任意節。節が無い旧ファイルは空リスト(=全交点が名目位置)として読み込まれます

v5.9.0: Grid_Nodes と版数警告 ​

Grid_Nodes(交点オフセット)の読み込み ​

v5.9.0 スキーマの Grid_Nodes 節(X_Label / Y_Label / Offset_X / Offset_Y / Notes)を読み込みます。 交点を移動していないファイルには節自体が出力されないため(静穏出力)、既存の v5.5.0 ファイルはそのまま読み込めます。

版数警告(V-10) ​

データの version がリーダー対応版 5.9.0 より新しい場合、Grasshopper のランタイムメッセージに Warning が表示されます(読み込み自体は継続)。将来スキーマのファイルを古いプラグインで開いた際の サイレントなデータ欠落を防ぐためのゲートです。

JSON vs CSV vs Excel ​

JSONのメリット ​

  • ✅ 単一ファイルで管理が簡単
  • ✅ 階層構造を表現しやすい
  • ✅ Web APIとの連携が容易
  • ✅ 軽量で高速

JSONのデメリット ​

  • ❌ 手動編集が困難(構文エラーが起きやすい)
  • ❌ Excelのような視覚的編集ができない

使い分け ​

  • Excel: 手動でデータを編集する場合
  • CSV: プログラムから生成、バージョン管理
  • JSON: API連携、プログラム間のデータ交換、MCP/AIエージェント連携(Watch併用)

パフォーマンス ​

読み込み速度 ​

  • 小規模(50要素以下): < 0.3秒
  • 中規模(500要素): 0.3-1秒
  • 大規模(5000要素): 1-5秒

JSON形式は最も高速です。

ファイルサイズ ​

  • 小規模: 1-10 KB
  • 中規模: 10-100 KB
  • 大規模: 100KB-1MB

関連コンポーネント ​

注意事項 ​

  • JSON形式はUTF-8エンコーディング
  • 数値は小数点に.(ドット)を使用
  • 文字列は"(ダブルクォート)で囲む
  • 最後の要素の後に,(カンマ)は不要
  • フィールド名は大文字小文字を区別します

JSONエディタのおすすめ ​

Visual Studio Code ​

  • JSON検証機能
  • シンタックスハイライト
  • フォーマット機能

オンラインツール ​

トラブルシューティング ​

Q: "JSON parse error" が出る ​

A: JSONの構文エラーです。オンラインのJSON検証ツールでチェックしてください。よくある間違い:

  • カンマの付け忘れ/余分なカンマ
  • 閉じ括弧の不足
  • 文字列のクォート忘れ

Q: Importをtrueにしても何も起こらない ​

A: Fileパスが正しいか確認してください。Infoパラメータを接続してエラーを確認してください。

Q: データは読み込まれるが内容がおかしい ​

A: JSON内のフィールド名が正しいか確認してください。フィールド名は大文字小文字を区別します。

Q: 「スキーマ版がリーダー対応版より新しい」Warning が出る ​

A: ファイルの version が本プラグインの対応版(5.9.0)より新しい状態です。読み込みは継続されますが、新しい版で追加された節は無視されている可能性があります。プラグインを最新版に更新してください。

Q: 大きなファイルの読み込みが遅い ​

A: JSONは通常高速ですが、非常に大きなファイル(>10MB)の場合は時間がかかることがあります。データを分割することを検討してください。

v5.5.0 アップデート ​

反映項目説明
v5.5.0 schema 全面対応Justification / Revit_Family_Type / Design_Phase / Slab_On_Beam / Restraint_Code / End_Release_*_Code を read / write 両対応
後方互換v5.0.x / v5.2.x / v5.3.x データを自動マイグレーション (欠落フィールドは default 補完)
テンプレートExcel テンプレ MakeBuildingPro_Template_Metric_v5.5.0.xlsx (同梱、Embedded リソース) を Excel Import 時に参照
ラウンドトリップ.mbp.json ↔ .xlsx ↔ CSV フォルダ形式 で無損失ラウンドトリップ可。Notes / CustomProperties も保持

詳細: JSON Schema v5.5.0

更新履歴 ​

  • v5.9.0: Grid_Nodes 節(交点オフセット)の読み込みに対応(節欠如=空リスト=全交点が名目位置)。データ版がリーダー対応版 5.9.0 より新しい場合の版数警告 V-10 を追加
  • v5.7.0: 変更なし(スキーマは 5.5.0 のまま。Is_Void 等の既存フィールドを透過的に読み込み)