メインコンテンツまでスキップ
バージョン: 20 R7 BETA

JSON TO SELECTION

JSON TO SELECTION ( aTable ; jsonArray )

引数説明
aTableTable要素の複製先の4Dテーブル
jsonArrayTextJSON形式の文字列

説明

JSON TO SELECTIONコマンドは、JSONオブジェクト配列 jsonArray の中身を、 aTable のレコードのセレクションへとコピーします。.

jsonArray 引数はJSON形式にフォーマットされた配列を表すtextで、一つ以上の要素を含んでいます。シンタックスは以下のような形になっています:

"[{"attribute1":"value1","attribute2":"value2",...},...,{"attribute1":"valueN","attribute2":"valueN",...}]"

aTable を呼び出したときに指定したセレクションが存在していた場合、 JSON 配列の要素は配列の順番とレコードの順番に応じてコピーされます。JSON 配列によって定義された要素の数がカレントセレクション内に存在するレコードより多い場合、新たにレコードが追加されます。レコードは、存在していた場合 でも新規に追加した場合でも、自動的に保存されます。

注: このコマンドはオブジェクト型のフィールドをサポートします: JSONデータは自動的に変換されます。

**警告: JSON TO SELECTION コマンドは既存のレコード内の情報を上書きしてしまうため、使用の際には注意が必要です。

コマンド実行中、保存先のレコードが他の処理などでロックされていた場合、その中身は変更されません。ロックされたレコードは、 LockedSet システムセット内に保存されています。 JSON TO SELECTIONコマンドを実行し終えたあと、 LockedSet 内にロックされたレコードが保存されているかどうか検証することが出来ます。

例題

JSON TO SELECTION コマンドを使用して、 [Company] テーブルへレコードを追加します。

 var $Object1;$Object2;$Object3;$Object4 : Object
 var $ObjectString : Text
 ARRAY OBJECT($arrayObject;0)
 
 OB SET($Object1;"ID";"200";"Company Name";"4D SAS";"City";"Clichy")
 APPEND TO ARRAY($arrayObject;$Object1)
 
 OB SET($Object2;"ID";"201";"Company Name";"APPLE";"City";"Paris")
 APPEND TO ARRAY($arrayObject;$Object2)
 
 OB SET($Object3;"ID";"202";"Company Name";"IBM";"City";"London")
 APPEND TO ARRAY($arrayObject;$Object3)
 
 OB SET($Object4;"ID";"203";"Company Name";"MICROSOFT";"City";"New York")
 APPEND TO ARRAY($arrayObject;$Object4)
 
 $ObjectString:=JSON Stringify array($arrayObject)
 
  // $ObjectString = "[{"ID":"200","City":"Clichy","Company Name":"4D
  // SAS"},{"ID":"201","City":"Paris","Company Name":"APPLE"},{"ID":"202",
  //"City":"London","Company Name":"IBM"},{"ID":"203","City":"New
  //York","Company Name":"MICROSOFT"}]"
 
 JSON TO SELECTION([Company];$ObjectString)
  // [Company] テーブル内に、ID、会社名、都市のフィールドを
  //持つレコードを4つ作成しました。

参照

Selection to JSON

プロパティ

コマンド番号1235
スレッドセーフである