リファレンス > 関数リファレンス > テキスト関数 > JSONSetElement
 
JSONSetElement
目的 
オブジェクト名、配列索引、またはパスで指定された JSON データ内の要素を追加または変更します。
構文 
JSONSetElement ( json ; キーまたは索引またはパス ; 値 ; タイプ )
引数 
json - JSON オブジェクトまたは配列を含むテキスト式またはフィールド
キーまたは索引またはパス - JSON オブジェクト名 (キー)、配列索引、またはパスを指定する任意のテキスト式またはフィールド。JSON 関数の使い方を参照してください。
- 数値、テキスト、または JSON データを含む任意の式またはフィールド
タイプ - 設定するデータのタイプを指定する名前付きの値 (下記参照)
戻り値のデータタイプ 
テキスト
起点 
FileMaker Pro 16.0
説明 
この関数は指定されたキーまたは索引またはパスの位置にある jsonのセットを返します。json 引数が空白 ("") である場合は、キーまたは索引またはパス引数の最初の部分が "[" 文字ではじまっていない限り、を JSON オブジェクトに追加します (中カッコ { } で囲む)。引数の最初の部分が "[" 文字ではじまっている場合は、を JSON 配列に追加します (角カッコ [] で囲む)。
タイプ引数では次のいずれかの名前付きの値を使用して引数のデータのタイプを指定します。
 
タイプ
の種類
JSONString
文字列 (" ")
JSONNumber
数字
JSONObject
オブジェクト ( { } )
JSONArray
配列 ( [ ] )
JSONBoolean
論理値
JSONNull
Null
JSONRaw
JSON パーサによって決まる
JSONBoolean ではtrue (小文字) である場合に真として扱われます。それ以外の場合は、If 関数テキスト引数と同じ方法でが true か false かが決定されます。
JSONRaw ではは JSON パーサによって処理されます。が有効な JSON データである場合は、解析された結果がこの関数の戻り値で使用されます。それ以外の場合は、が JSON 文字列として使用されます。
キーまたは索引またはパス、およびタイプ引数のセットを要素ごとに角カッコ [] で囲んで追加することで複数の要素を設定できます。次の構文で N 個の要素を一度に設定します。
JSONSetElement ( json ;
   [ キーまたは索引またはパス1 ; 値1 ; タイプ1 ] ;
   [ キーまたは索引またはパス2 ; 値2 ; タイプ2 ] ;
   ...
   [ キーまたは索引またはパスN ; 値N ; タイプN ] ;
)
メモ 
この関数は Runtime ソリューションではサポートされず「?」を返します。
例 1 
キーとその値を JSON オブジェクトのルートに追加します。
JSONSetElement ( "{ \"a\" : 11 }" ; "b" ; 22.23 ; JSONNumber ) は「{"a":11,"b":22.23}」を返します。
例 2 
JSON オブジェクトを別の JSON オブジェクトの要素として追加します。$$JSON 変数に
{
"a" : {
"id" : 12,
"lnk" : 34
}
}
が設定されている場合は
JSONFormatElements (
   JSONSetElement ( $$JSON ; "b" ; "{ \"id\" : 14, \"lnk\" : 73 } " ;
      JSONObject
   )
)
は次を返します。
{
"a" :
{
"id" : 12,
"lnk" : 34
},
"b" :
{
"id" : 14,
"link" : 73
}
}
例 3 
$$JSON 変数に保存された JSON データの例から配列の 1 番目の「製品」要素の「特売」と「在庫」キーの値を変更します。
JSONFormatElements (
   JSONSetElement ( $$JSON ;
   [ "ベーカリー.製品[0].特売" ; 0 ; JSONBoolean ] ;
   [ "ベーカリー.製品[0].在庫" ; 0 ; JSONNumber ]
   )
)
は $$JSON と同じデータを返しますが、「製品」配列の最初の要素を次に変更します。
{
"カテゴリ" : "パン",
"id" : "FB1",
"名前" : "ドーナツ",
"価格" : 1.99,
"特売" : false,
"在庫" : 0
}
関連項目 
関数リファレンス (種類順)
関数リファレンス (名前順)
計算式について
関数について
計算フィールドの定義
計算式での演算子の使い方
JSON 関数の使い方