# JSONスキーマを使ってJSONファイルを検証

tJSONValidatorコンポーネントを使ってJSONカラムを検証できます。

このシナリオは、Talend Data Integration、Talend Data Management Platform、Talend Big Data Platform、Talend Real-Time Big Data Platform、Talend Data Services Platform、Talend Data Fabricにのみ適用されます。

情報メモ注: tJSONValidatorコンポーネントは、Talendが提供するR2024-11以降のTalend Studioマンスリーアップデートをインストール済みである場合のみ利用できます。詳細は管理者にお問い合わせください。

## このタスクについて

JSONファイルを使用すれば、ファイルからのデータをすべて検証できます。スキーマに対して1つのレコードが検証されなかった場合、すべてのレコードが無効と見なされます。

レコードを別々に検証し、有効なレコードと無効なレコードを専用の出力コンポーネントに送信したい場合は、未加工の入力データを使用します。詳細は、[未加工の入力データを使ってJSONスキーマを検証](https://help.qlik.com/talend/ja-JP/components/8.0/json-validation/validating-json-schema-raw-input-data "tJSONValidatorコンポーネントを使ってJSONカラムを検証できます。")をご覧ください。

このシナリオのジョブでは、以下のコンポーネントを使用しています:

* JSONファイルを入力として使用するためのtFileInputRawコンポーネント。
* JSONカラムを検証するためのtJSONValidatorコンポーネント。
* 結果を出力するためのtLogRowコンポーネント。

![tFileInputRawコンポーネント、tJSONValidatorコンポーネント、2つのtLogRowコンポーネントを使用したジョブ。](https://help.qlik.com/talend/ja-JP/components/8.0/Resources/images/tjsonvalidator_job_json_file.png)

## ジョブを設定

### 手順

1. [Palette] (パレット)から、tFileInputRaw、tJSONValidator、2つのtLogRowをデザインワークスペースにドロップします。
2. [Main] (メイン)リンクを使って、tFileInputRawをtJSONValidatorに接続させます。
3. [FLOW] (フロー)リンクを使って、tJSONValidatorを1つのtLogRowに接続させます。
4. [Reject] (リジェクト)リンクを使って、tJSONValidatorをもう1つのtLogRowに接続させます。

## 入力コンポーネントを設定

### 手順

1. [Component] (コンポーネント)タブで、tFileInputRawをダブルクリックして[Basic settings] (基本設定)ビューを開きます。
2. [Edit Schema] (スキーマを編集)をクリックします。
3. 開くダイアログボックスで[+]ボタンをクリックし、初期入力データを保持するカラムを追加します。

   この例では、contentというカラムを1つ追加し、[Type] (タイプ)として[Object] (オブジェクト)を選択します。
4. OKをクリックしてダイアログボックスを閉じます。
5. [Read the file as a string] (文字列として読み取る)を選択します。
6. ドロップダウンリストから、エンコーディング形式を選択します。この例では、ISO-8859-15です。

## tJSONValidatorコンポーネントを設定

### 手順

1. tJSONValidatorをダブルクリックし、その[Basic settings] (基本設定)ビューを表示させて、コンポーネントのプロパティを定義します。
2. 必要な場合は、[Sync columns] (カラムを同期)タブをクリックし、入力コンポーネントで定義されているスキーマを取得します。
3. ![\[Add\] (追加)](https://help.qlik.com/talend/ja-JP/components/8.0/Resources/images/add.svg)をクリックし、[Allocate] (割り当て)エリアに行を追加します。
4. ドロップダウンリストから入力カラムを選択します。
5. スキーマファイルへのパスを二重引用符で囲んで入力し、データを検証するスキーマを定義します。

   この例では、"inputSchema.json"です。 ![tJSONValidatorの設定](https://help.qlik.com/talend/ja-JP/components/8.0/Resources/images/tjsonvalidator-jobs.png)

   情報メモ注: スキーマで$schemaダイアレクトが定義されていない場合は、[Advanced settings] (詳細設定)で[JSON schema draft version] (JSONスキーマドラフトバージョン)を定義します。

## 出力コンポーネントの設定とジョブの実行

### 手順

1. tLogRowコンポーネントをダブルクリックして、[Basic settings] (基本設定)ビューを表示させます。
2. どちらのコンポーネントにも[Table (print values in cells of a table)] (テーブル(テーブルのセルの出力値))を選択します。
3. F6を押すと、ジョブを保存して実行します。

### タスクの結果

レコードがtLogRowコンポーネントの1つに送信されます:

* レコードがすべて有効であれば、[FLOW] (フロー)リンク経由で送信されます。
* 無効なレコードが1つでもあれば、レコードはすべて[Reject] (リジェクト)リンク経由で送信されます。

**関連資料**

* [tJSONValidator](https://help.qlik.com/talend/ja-JP/components/8.0/json-validation/tjsonvalidator "特定のJSONスキーマに基づいてデータを検証します。")

**関連情報**

* [tLogRow](https://help.qlik.com/talend/r/ja-JP/8.0/components/logs-and-errors/tlogrow)
* [tFileInputRaw](https://help.qlik.com/talend/r/ja-JP/8.0/components/raw/tfileinputraw)