コンパクト形式

最終公開日 : Aug 10, 2026
Related information

はじめに

JSONコンパクト形式の目的は、軽量構造を使用してマスターデータを取得することです。キーバリュー設計に従って、技術情報なしで最も簡単な方法でデータを表示します。コンパクトフォーマットをアクティブにするには、 data-compactや form-data-compactなどの compactサフィックスRESTカテゴリをURLで使用する必要があります。

グローバル構造

JSONリクエスト本文

リクエストの本文はJSON Objectで表され、その内容は操作とカテゴリによって異なります。

データカテゴリ

  • データセットノード
    指定したノードの下のターミナルノードのターゲット値を指定します。このリクエストは、データセットノードのUpdate操作に使用されます。
    {
      "nodeName1": true,
      "nodeName2": 2,
      "nodeName3": "Hello"
    }
    HTTPリクエストとHTTP応答の間でJSON対称構造を確保するために、列挙ノードリクエストの形式は次のようになります。
    {
      "enumerationNode": {
        "key": "a key value"
      }
    }
    以下も参照してください。:
  • レコード
    各フィールドの値を設定して、ターゲットレコードの内容を指定します。欠落しているフィールドの場合、動作はリクエストパラメーター byDeltaによって異なります。この構造体は、ローカル列挙型の依存関係フィールド値が宣言されている場合に、テーブルレコードの挿入、レコードの更新、またはセレクターのSelect操作に使用されます。
    {
      "gender": {
        "key": "M"
      },
      "lastName": "Chopin",
      "lastName-en": "Chopin",
      "firstName": "Fryderyk",
      "firstName-en": "Frédéric",
      "birthDate": "1810-03-01",
      "deathDate": "1849-10-17",
      "jobs": [
        {
          "key": "CM"
        },
        {
          "key": "PI"
        }
      ],
      "infos": [
        "https://en.wikipedia.org/wiki/Chopin"
      ]
    }
    以下も参照してください。:
  • レコードフィールド
    各フィールドの値を設定して、レコードターミナルノードの下のフィールドのターゲット値を指定します。欠落しているフィールドの場合、動作はリクエストパラメーター byDeltaによって異なります。この構造は、テーブルレコードの更新にのみ使用されます。
    {
      "jobs": [
        {
          "key": "CM"
        },
        {
          "key": "PI"
        }
      ]
    }
    以下も参照してください。:
  • レコードテーブル
    各フィールドの値を示すことにより、1つ以上のレコードの内容を定義します。欠落しているフィールドの場合、動作はリクエスト byDeltaのパラメーターによって異なります。この構造は、テーブルのレコードを挿入または更新するときに使用されます。
    [
      {
        "gender": {
          "key": "M"
        },
        "lastName": "Saint-Saëns",
        "firstName": "Camille",
        "birthDate": "1835-10-09",
        ...
      },
      {
        "gender": {
          "key": "M"
        },
        "lastName": "Debussy",
        "firstName": "Claude",
        "birthDate": "1862-10-22",
        ...
      }
    ]
    以下も参照してください。:
  • 削除するレコードテーブル
    1つ以上のレコードを定義します。この構造は、同じテーブルから複数のレコードを削除するときに使用されます。
    [
      {
        "details": "http://.../root/table/1"
      },
      {
        "details": "http://.../root/table/2"
      },
      {
        "primaryKey": "./oid=3"
      },
      {
        "foreignKey": "4"
      },
      ...
    ]
    以下も参照してください。:
  • フィールド
    ターゲットフィールドの内容を指定します。この要求は、フィールドの更新時に使用されます。
    リクエストの構造は、ノード値で定義されているものと同じです。
    以下も参照してください。:
  • ユーザーインターフェイスを開くまたは閉じる
    ユーザーインターフェイスが開いているか閉じているか、および使用不可メッセージを指定します。
    {
      "toolStatus": {
        "key": true,     // or false
        "label": "Open"
      },
      "toolStatusCloseMessage": "Access is temporarily forbidden for maintenance."
    }
    以下も参照してください。:
    リクエストで言及できるのは書き込み可能なフィールドのみです。これには、次の場合は含まれません。
  • 関連付けノード
  • 選択ノード
  • 値関数
  • セッターを持たないJavaBeanフィールド
  • 認証されたユーザーのノードに対する書き込み不可能なアクセス許可

JSON応答本文

応答の本文はJSON オブジェクトで表され、その内容は操作とカテゴリによって異なります。

データカテゴリ

  • データセットノード
    指定されたノードの下のターミナルノードのリストが含まれます。
    {
      "nodeName1": true,
      "nodeName2": 2,
      "nodeName3": "Hello"
    }
    以下も参照してください。:
  • テーブル
    次のプロパティを含むJSON オブジェクト:
    • 選択したレコードのJSON 配列に対応する行。各レコードは、JSON オブジェクトで表されます。レコードが選択されていない場合、JSON 配列は空です。
    • (オプション)ページ付けデータを含むページ付け。
      {
        "rows": [
          {
            "id": 1,
            "firstName": "Claude",
            "lastName": "Levi-Strauss"
          },
          {
            "id": 2,
            "firstName": "Sigmoud",
            "lastName": "Freud"
          },
          {
            "id": 3,
            "firstName": "Alfred",
            "lastName": "Dreyfus"
          }
        ],
        "pagination": {
          "firstPage": null,
          "previousPage": null,
          "nextPage": "http://.../root/individu?pageRecordFilter=./id=9&pageSize=9&pageAction=next",
          "lastPage": "http://.../root/individu?pageSize=9&pageAction=last"
        }
      }
    以下も参照してください。:
  • レコード
    レコードコンテンツを含むJSON オブジェクト。
    {
      "pk": "pk1",
      "name": "Name1",
      "name-fr": "Name1",
      "parent": null
    }
    以下も参照してください。:
  • フィールド
    コンパクトなjson形式は、関連付けノードと選択ノードをサポートしていません。
    他の種類のノードの場合、それらには現在のノード値が含まれます。
    以下も参照してください。:
  • ユーザーインターフェイスの状態の取得
    ユーザーインターフェイスのステータスと使用不可メッセージが含まれます。
    {
      "toolStatus": {
        "key": true,     // or false
        "label": "Open"
      },
      "toolStatusCloseMessage": "Access is temporarily forbidden for maintenance."
    }
    以下も参照してください。:
注意:
ノード、レコード、フィールドのプロパティと値は、解決された権限*(権限を参照)*によっては非表示になる場合があります。

コンテンツ

このセクションは常に含まれており、追加のフィールドなしでマスターデータが含まれています。

ノード値

ノード値には、データまたはラベルと、列挙の場合は詳細リンクのみが含まれます。関連付けと選択を除くすべてのノードで使用できます。

単純型のコンテンツ

ノードのコンテンツを説明するKey-ValueJSONエントリに対応します。
以下も参照してください。:

グループ、リスト、列挙の内容

XMLスキーマ
JSON形式
例
Group
xs:complexType
オブジェクト
サブノードごとのプロパティが含まれます。
単純オカレンスグループの例。
{
  "road": "11 rue scribe",
  "zipcode": "75009",
  "country": "France"
}
List
maxOccurs > 1
配列
JSON Objectまたは単純型で表されるすべてのフィールドオカレンスの配列が含まれます。
各JSON オブジェクトは、ノード値で構成されています。
xs:intタイプの複数オカレンスフィールドの例。
[
  0,
  1,
  2,
  3,
  4
]
複数オカレンスグループの例。
[
  {
    "road": "11 rue scribe",
    "zipcode": "75009",
    "country": "France"
  },
  {
    "road": "711 Atlantic Ave",
    "zipcode": "MA 02111",
    "country": "United States"
  }
]
Enumeration(列挙)
xs:string
オブジェクト
key、link、およびlabelプロパティが含まれています。
外部キーの例。
{
  "key":"1",
  "details":"http://.../Bdataspace/dataset/root/nationality/FRA",
  "label":"Française"
}