# JSON ファイルでの作業

Qlik Sense Enterprise on Windows の JSON ファイルからデータをロードします。

Qlik Sense でサポートされている他のデータ ファイルと同様に、JSON ファイルからデータをロードできます。詳しくは「[ファイルからのデータのロード](https://help.qlik.com/ja-JP/sense/November2025/Subsystems/Hub/Content/Sense_Hub/DataSource/load-data-from-files.htm)」を参照してください。

LOAD コマンドを使用して、ロード スクリプトで JSON ファイルからデータをロードできます。例:

```
LOAD  * from xyz.json (json);
```

詳細については、「[Load](https://help.qlik.com/ja-JP/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)」を参照してください。

Load ステートメントでは、ワイルド カードを使用する代わりに、項目リストに必要なものを指定して、項目をフィルター処理したり、順序を変更したりできます。例: `LOAD a.b, b.c FROM […] (json);`。存在しない項目ではエラーは発生しません。

## JSON からネストされたオブジェクトをロードする

値がオブジェクトの場合、そのオブジェクトのメンバーは追加項目でテーブルを拡張するために使用されます。各項目名は親と子の組み合わせです。たとえば、以下の JSON にはネストされたオブジェクトが含まれています。

```

[
	{"name":{"first":"Alice","last":"Stephenson"}},
	{"name":{"first":"Bob"}},
	{"name":{"last":"Roberts"}}
]
```

`LOAD * FROM [lib://AttachedFiles/example.json] (json);` をロードすると、次のデータのテーブルが得られます。

ネストされたデータテーブルの例

| name.first | name.last |
| --- | --- |
| Alice | Stephenson |
| Bob | null |
| null | Roberts |

## 複数のテーブルのロード

配列を含む Jason データは、複数の Load ステートメントを使用してロードする必要があります。配列の内容はハッシュ化され、テーブルをリンクするためのキーとして使用されます。

たとえば、以下の JSON には複数のテーブルがあります。

```

[
	{"a":[1,2],"b":[3,4]},
	{"a":[2,3],"b":[4,5]}
]
```

これは次の Load ステートメントを使用してロードする必要があります。

LOAD \* FROM [...] (json); LOAD \* FROM [...] (json, table is [/\*/a]); LOAD \* FROM [...] (json, table is [/\*/b]);

table is 指定子はサブテーブルの反復子へのパスです。次のデータのテーブルが得られます。

テーブル 1

| %Key\_a | %Key\_b |
| --- | --- |
| &lt;hash of [1,2]&gt; | &lt;hash of [3,5]&gt; |
| &lt;hash of [2,3]&gt; | &lt;hash of [4,5]&gt; |

テーブル 2

| %Key\_a | a..@1 |
| --- | --- |
| &lt;hash of [1,2]&gt; | 1 |
| &lt;hash of [1,2]&gt; | 2 |
| &lt;hash of [2,3]&gt; | 2 |
| &lt;hash of [2,3]&gt; | 3 |

テーブル 3

| %Key\_b | b..@1 |
| --- | --- |
| &lt;hash of [3,5]&gt; | 3 |
| &lt;hash of [3,5]&gt; | 4 |
| &lt;hash of [4,5]&gt; | 4 |
| &lt;hash of [4,5]&gt; | 5 |

情報メモデータに同一内容の配列が複数含まれている場合は、サブテーブルの Load ステートメントでキーワード DISTINCT を使用します。例: LOAD DISTINCT \* FROM [lib://AttachedFiles/Sales.json] (json, all tables);

### 配列を見る

項目リストは、データをロードするときに、サブテーブルとしてロードされる配列を確認するために使用できます。例

```
[
	{"pos":[1,2,3]},
	{"pos":[4,5,6]}
]
```

これは次の Load ステートメントでロードできます。

LOAD pos.0 AS x, pos.1 AS y, pos.2 AS z FROM […] (json);.

次のテーブルが得られます。

| x | y | z |
| --- | --- | --- |
| 1 | 2 | 3 |
| 4 | 5 | 6 |

### すべてのテーブルのロード

Table is の代わりに all tables を指定すると、すべてのテーブルをロードできます。例:

LOAD \* FROM [lib://AttachedFiles/Sales.json] (json, all tables);

#### 制限事項

JSON ファイルには、次の制限事項があります。

* JSON からの単一の LOAD ステートメントは、最大で次をロードできます。

  * 5,000 項目

  * 1,000 テーブル