ADO.NET Provider for JSON

Build 24.0.9062

JSONFormat

JSON ドキュメントのフォーマットを指定します。

Possible Values

JSON, JSONRows, LDJSON

データ型

string

デフォルト値

"JSON"

解説

このオプションを使用すると、JSON ドキュメントのフォーマットを指定できます。これにより選択したフォーマットの解析が可能になります。

JSON フォーマット

次のJSONFormat 設定が利用可能です。

  • JSON

    これはデフォルトの形式で、多くの場合に使用されます。

  • JSONRows

    これは、プリミティブ配列に含まれるデータの行からなるリレーショナル形式で返される特定のフォーマットです。カラム情報も別の配列に返されます。

    Note:このJSONFormat を使用する場合、DataModel は適用されません。

    例:

      {
        "dataset": {
          "column_names": [
            "Name",
            "Age",
            "Gender"
          ],
          "data": [
            [
              "John Doe",
              37,
              "M"
            ],
            [
              "David Thomas",
              25,
              "M"
            ]
          ]
        }
      }
      

    JSONPath プロパティには、カラムと行のパスを識別する特別な構文が必要です。構文では、"column:" と"row:" というプレフィックスを使用してそれぞれのパスを指定します。 上記の例を使用すると、JSONPath は次のように設定されます:column:$.dataset.column_names;row:$.dataset.data

    追加のデータを持つオブジェクトにカラムが返される場合は、追加の"columnname:" プレフィックスを指定して、カラム名を含む値へのパスを識別できます。

    例:

      {
        "columns": [
          {
            "name":"first_name",
            "type":"text"
          },
          {
            "name":"last_name",
            "type":"text"
          }
        ],
        "rows": [
          [
            "John",
            "Doe"
          ],
          [
            "David",
            "Thomas"
          ]
        ]
      }
      

    上記の例では、JSONPath は次のように設定されます:column:$.columns;columnname:$.columns.name;row:$.rows

  • LDJSON(改行区切りのJSON)

    この形式は、改行区切りのJSON ファイル(NDJSON またはJSONLines とも呼ばれます)をパースするために使用されます。改行区切りのJSON ファイルには、各行に別々のJSON ドキュメントが含まれています。

    LDJSON ファイルの例:

      { "Name": "John Doe", "Age": 37, "Gender": "M" }
      { "Name": "David Thomas", "Age": 25, "Gender": "M" }
      { "Name": "Susan Price", "Age": 35, "Gender": "F" }
      

    JSONPath 値は、通常のJSON 形式を使用した場合と同じように扱われます。唯一の違いは、ルートバス($.) が常に使用される(つまり、JSON のすべての行が配列内に含まれているように扱う)点です。

    上の例では、JSONPath は"$." になり、Name、Age、およびGender カラムを含む3行を返します。

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9062