カスタマイズ

JSONを読み込む

概要

JSON文字列を読み込んで、カスタマインの式で参照できる形にします。

使い方

この「やること」は、「JSON 形式」という特別な形で書かれたデータを、カスタマインの式で使用できる形に変換します。

JSON 形式の文字列は、他サービスとの連携でよく使用されます。例えば「OpenAI を呼び出してテキストを生成する」で AI に JSON 形式で返答を返すように指示すれば、得ることができます。

JSON 形式の文字列は、例えば次のような形をしています。

{
  "name": "山田太郎",
  "age": 30
}

JSON 形式の文字列はそのままではただの文字列(テキスト)なので、カスタマインの式で参照しても文字列としかみなされません。上の例で、name である「山田太郎」という値だけを取り出したくても、そのままでは困難です。

「JSONを読み込む」で上記の例を変換すると、アクション結果を通して JSON 内の要素を参照することができます。例えば、「JSONを読み込む」のアクション番号が 1 で、name の値(山田太郎)を取り出したい場合は、以下のように書けます。

= $1.name

設定するパラメーター

「JSON文字列」「value の別名」を指定します。

JSON文字列

変換したい JSON 文字列を入力します。JSON として正しい形式である必要があります。

全体または一部に ${式} を使用することができます。全体を ${式} にする場合で、式の結果が JSON 文字列そのものであれば問題ありません。一部分だけを置き換える場合は注意が必要です。例えば

{"名前": "${文字列_1行_1}"}

というようなJSON文字列を指定した場合、文字列_1行_1 フィールド値に " などのJSON として特別な意味を持つ文字が含まれると、全体として正しくない JSON ができてしまい、実行時エラーになります。

value の別名

JSON 中に value という名前のキーがあれば、ここで指定した名前に置き換わります。

変換を行いたくない場合は空にします。

よくわからない場合は初期値の _value のままにしておくことを推奨します。

後述の「value について」を参照してください。

value について

カスタマインの式では value は特別な意味を持ちます。kintone のレコードデータの階層に value が多数含まれているのを、ストレスなく式で参照できるようにするための機能が実装されています。

JSON 文字列に value という名前のキーが含まれる場合、この機能と競合を引き起こす場合があります。

そこで、競合を引き起こさないように、元の value というキーを別名に置き換える設定が、「value の別名」です。

例えば以下のような JSON 文字列があったとします。

{
  "label": "東京都",
  "value": 13
}

value が含まれるので、変換なしで「JSONを読み込む」を行った場合は競合が起こり、label 部分を参照できなくなる問題が生じます。

「value の別名」を使えば、この競合が起こらなくなります。アクション番号が 1 で別名が _value の場合は以下のようになります。

  • label 部分を取得したければ通常通り = $1.label で取得できます。
  • value 部分を取得したい場合は別名で参照する形で = $1._value とします。

なお、値側は置き換えません。例えば以下のような JSON の場合、= $1.key の値は “_value” ではなく “value” になります。

{
  "label": "値",
  "key": "value"
}