# キー/値ペアを使用

キー/値ペアをマッピングできるようストラクチャーをアップデートします。

## 始める前に

## このタスクについて

この例では、自転車とスクーターに関する情報が含まれているitemsオブジェクトを持つJSONファイルがあるとします。それぞれの項目はその項目名をキーとするオブジェクトで、値はその項目の説明と価格を含んでいるオブジェクトです。目標は、項目の配列で出力を作成することです。

```
{
    "items": {
        "MBIKE": {
            "description": "27.5 inch electric mountain bike",
            "price": "899.99"
        },
        "EBIKE": {
            "description": "Electric hybrid bike",
            "price": "999.99"
        },
        "WBIKE": {
            "description": "Women's road bike",
            "price": "299.99"
        },
        "ESCOOT": {
            "description": "Camou electric scooter",
            "price": "749.0"
        },
        "EVSCOOT": {
            "description": "Folding electric velocity+ scooter",
            "price": "599.99"
        },
        "KSCOOT": {
            "description": "24 volt kid scooter",
            "price": "299.99"
        }
    }
}
```

```
{
    "items": [
        {
            "make": "",
            "description": "",
            "price": ""
        }
    ]
}
```

## 手順

1. 作成した入力ストラクチャーを開き、itemsエレメントを展開します。
2. 次のエレメントをドラッグ＆ドロップしてマッピングします。
   * keyをmakeへ
   * descriptionをdescriptionへ
   * priceをpriceへ

   ![エレメントのマッピング。](https://help.qlik.com/talend/ja-JP/data-mapper-user-guide/Resources/images/tdm-dsql-map-editor-key-value-map.png)
3. itemsをクリックし、既存の式の下に次の行を入力して、出力データをフィルテリングするようにします。
   ```
   WHERE value.price <= items['ESCOOT'].price
   ```

   この式は、マップがESCOOT入力エレメントの価格以下の項目だけを返すことを示します。値が特定のキーで参照されていることがわかります。詳細は、[リファレンスガイド](https://help.qlik.com/talend/ja-JP/data-shaping-language-reference-guide/8.0)をご覧ください。

## タスクの結果

```
{
   "items":[
      {
         "make":"ESCOOT",
         "description":"Camou electric scooter",
         "price":"749.0"
      },
      {
         "make":"WBIKE",
         "description":"Women's road bike",
         "price":"299.99"
      },
      {
         "make":"KSCOOT",
         "description":"24 volt kid scooter",
         "price":"299.99"
      },
      {
         "make":"EVSCOOT",
         "description":"Folding electric velocity+ scooter",
         "price":"599.99"
      }
   ]
}
```

また、次のように逆の方法によってキー/値ペアで出力を作成することも可能です。 ![キー/値のペアを持つ出力。](https://help.qlik.com/talend/ja-JP/data-mapper-user-guide/Resources/images/tdm-dsql-map-editor-key-value-map-reversed.png)