コンテンツにスキップ

4.5 デシリアライザ

ここでは、各デシリアライザコンポーネントについて説明します。

4.5.1 JSONデシリアライザ#

JSONの指定データを出力するコンポーネントです。
入力ポートからJSONファイルを受け取り、JSONPathで指定された値を出力します。

4.5.1.1 基本情報#

JSONデシリアライザの基本情報は、次の通りです。

項目 説明
ベース名 JSON
説明 コンポーネントのJSONファイルを受け取ってデータに加工し、他のコンポーネントに渡します。
消費ポイント 0
ポート 入力:1
他のコンポーネントからJSONファイルを受け取ります。

出力:1
入力したJSONファイルを加工したデータを出力します。

システム:1
コンポーネントの稼働状況やエラー情報を出力します。出力するエラー情報の詳細は、「エラーコード一覧」をご覧ください。

4.5.1.2 設定項目#

JSONデシリアライザの設定項目は、次の通りです。

項目 説明
名称 コンポーネントに付与する名前
※他のコンポーネント名と重複する事はできません。
自動起動無効 コンポーネントの自動起動を無効にする場合ON
データ優先順 パターンに複数件マッチした場合の優先順を選択
NULL値 nullを受信した場合の出力を選択

初期値
真偽値:false
符号あり整数:0
符号なし整数:0
浮動小数:null
※文字列は常にスキップ
  • JSONデシリアライザの加工データは、次の設定項目によって定義されます。
項目 説明
パターン JSONPathを入力
データ名 データの名前を入力
データ型 出力する値のデータ型を選択

パターンの入力例

JSON

{
  "items": [
    { "id": 1, "value": 1 },
    { "id": 2, "value": 2 },
    { "id": 3, "value": 3 },
    {
      "id": 4,
      "sub_items": [
        { "id": 41, "value": 41 },
        { "id": 42, "value": 42 }
      ]
    }
  ]
}
パターン マッチ結果 データ優先順 出力結果
$..value [1, 2, 3, 41, 42] 末尾 42
$.items[1].value 2 末尾 2
$..[?(@.id>=3)].value [3, 41, 42] 末尾 42
$["items"][*]["sub_items"]..value [41, 42] 先頭 41

データ優先順

パターンのマッチ結果が複数件の場合、マッチする順序は辞書順になります。

JSON

{
  "b": {
    "a": "$['b']['a']"
  },
  "d": [
    {
      "a": "$['d'][0]['a']"
    },
    {
      "b": {
        "a": "$['d'][1]['b']['a']"
      }
    }
  ],
  "a": "$['a']",
  "c": [
    {
      "b": {
        "a": "$['c'][0]['b']['a']"
      },
      "a": "$['c'][0]['a']"
    },
    {
      "a": "$['c'][1]['a']",
      "b": {
        "a": "$['c'][1]['b']['a']"
      }
    }
  ]
}

パターン: $..a

マッチ順

  1. $['a']
  2. $['b']['a']
  3. $['c'][0]['a']
  4. $['c'][0]['b']['a']
  5. $['c'][1]['a']
  6. $['c'][1]['b']['a']
  7. $['d'][0]['a']
  8. $['d'][1]['b']['a']

データ優先順が「末尾」の場合は$['d'][1]['b']['a']が登録され、「先頭」の場合は$['a']が登録されます。