I03. JSON Import
概要
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) | Boolean | false | Trueに設定すると読み込み実行 |
| Watch (W) | Boolean | false | ファイルの外部変更(MCPサーバ / AIエージェント / テキストエディタ等)を検知して自動再読込。Import=True のときのみ有効 |
出力パラメータ
| パラメータ名 | 型 | 説明 |
|---|---|---|
| Data (D) | Generic | BuildingDataオブジェクト |
| Origin (O) | Point | 原点座標(Global設定から生成) |
| Success (S) | Boolean | 読み込み成功フラグ |
| Info (I) | Text | 読み込んだデータの情報(要素数など) |
使用方法
基本的な使い方
- Fileパラメータに.jsonファイルのパスを接続
- Importパラメータをtrueに設定
- 読み込みが実行され、結果がInfoに表示される
- (任意)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
関連コンポーネント
- I01. Excel Import - Excelファイルからのインポート
- I02. CSV Import - CSVファイルからのインポート
- E03. JSON Export - JSONファイルへのエクスポート
- D01. UI Data Editor - データの編集
注意事項
- JSON形式はUTF-8エンコーディング
- 数値は小数点に
.(ドット)を使用 - 文字列は
"(ダブルクォート)で囲む - 最後の要素の後に
,(カンマ)は不要 - フィールド名は大文字小文字を区別します
JSONエディタのおすすめ
Visual Studio Code
- JSON検証機能
- シンタックスハイライト
- フォーマット機能
オンラインツール
- jsonlint.com - JSON検証
- jsonformatter.org - 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 も保持 |
更新履歴
- v5.9.0:
Grid_Nodes節(交点オフセット)の読み込みに対応(節欠如=空リスト=全交点が名目位置)。データ版がリーダー対応版 5.9.0 より新しい場合の版数警告 V-10 を追加 - v5.7.0: 変更なし(スキーマは 5.5.0 のまま。
Is_Void等の既存フィールドを透過的に読み込み)