4D v14.3

OB SET

ホーム

 
4D v14.3
OB SET

OB SET 


 

OB SET ( object ; property ; value {; property2 ; value2 ; ... ; propertyN ; valueN} ) 
引数   説明
object  Object in 構造化されたオブジェクト
property  テキスト in 設定したいプロパティの名前
value  テキスト, 日付, ブール, ポインター, Number, Object in プロパティの新しい値

説明   

OB SETコマンドは、 object 引数で指定したランゲージオブジェクトの中に、一つ以上の プロパティ/ のペアを作成もしくは変更します。

object で指定するオブジェクトは、 C_OBJECT コマンドを使用して作成されている必要があります。

property 引数には、作成または修正したいプロパティのラベル(名前)を渡して下さい。object 内に指定されたプロパティが存在する場合、その値は指定した値で上書きされます。プロパティが存在しない場合、新たにプロパティが作成されます。
property 引数では、大文字と小文字は区別されることに注意して下さい。

value 引数には、プロパティに設定したい値を渡して下さい。渡せる値としては複数の型がサポートされています。渡す際には以下のことに注意して下さい:

  • ポインターを渡した場合、それはそのままの形で保存されます。値を解決するためには JSON Stringify コマンドを使用します。
  • 日付を渡す場合には、 "\"YYYY-MM-DDTHH:mm:ssZ\"" というフォーマットで表現されている必要があります。
  • 時間を渡した場合、object 内で自動的に実数へと変換されます。
  • ランゲージオブジェクトを渡した場合、コマンドはオブジェクトの参照を使用し、実際にコピーを作成するわけではありません。

オブジェクトを作成し、テキスト型のプロパティを追加する場合を考えます:

 C_OBJECT($Object)
 OB SET($Object ;"FirstName";"John";"LastName";"Smith")
  // $Object = {"FirstName":"John","LastName":"Smith"}

オブジェクトを作成し、ブール型のプロパティを追加する場合を考えます:

 C_OBJECT($Object)
 OB SET($Object ;"LastName";"smith";"age";42;"client";True)
  // $Object = {"LastName":"smith","age":42,"client":true}

プロパティを修正する場合:

  // $Object = {"FirstName":"John","LastName":"Smith"}
 OB SET($Object ;"FirstName";"Paul")
  // $Object = {"FirstName":"Paul","LastName":"Smith"}

プロパティを追加する場合:

  // $Object = {"FirstName":"John","LastName":"Smith"}
 OB SET($Object ;"department";"Accounting")
  // $Object = {"FirstName":"Paul","LastName":"Smith","department":"Accounting"}

プロパティの名前を変更する場合:

 C_OBJECT($Object)
 OB SET($Object ;"LastName";"James";"age";35)
  // $Object = {"LastName":"James","age":35}
 OB SET($Object ;"FirstName";OB Get($Object ;"LastName"))
  // $Object = {"FirstName":""James","nom":"James","age":35}
 OB REMOVE($Object ;"LastName")
  // $Object = {"FirstName":""James","age":35}

ポインターを使用する場合:

  // $Object = {"FirstName":"Paul","LastName":"Smith"}
 C_TEXT($LastName)
 OB SET($Object ;"LastName";->$LastName)
  // $Object = {"FirstName":"Paul","LastName":"->$LastName"}
 $JsonString:=JSON Stringify($Object)
  // $JsonString="{"FirstName":"Paul","LastName":""}
 $LastName:="Wesson"
 $JsonString:=JSON Stringify($Object)
  // $JsonString="{"FirstName":"Paul","LastName":"Wesson"}

オブジェクトを使用する場合:

 C_OBJECT($ref_smith)
 OB SET($ref_smith ;"name";"Smith")
 C_OBJECT($ref_emp)
 OB SET($ref_emp ;"employee";$ref_smith)
 $Json_string :=JSON Stringify($ref_emp)
  // $ref_emp = {"employee":{"name":"Smith"}} (object)
  // $Json_string = "{"employee":{"name":"Smith"}}" (string)

値をプログラム実行中に変えることもできます:

 OB SET($ref_smith ;"name";"Smyth")
  // $ref_smith = {"employee":{"name":"Smyth"}}
 $string:=JSON Stringify($ref_emp)
  // $string = "{"employee":{"name":"Smyth"}}"

オブジェクト配列を使用する場合:

 C_TEXT($jsonString)
 C_OBJECT($Contact)
 OB SET($Contact;"FirstName";"Alan")
 OB SET($Contact;"LastName";"Monroe")
 OB SET($Contact;"age";40)
 OB SET($Contact;"telephone";"[2128675309,2128671234]")
 
 $jsonString:=JSON Stringify($Contact)
 
  // $Contact の値:
  // {"LastName":"Monroe","telephone":"[2128675309,2128671234]",
  // "age":40,"FirstName":"Alan"}
 
  // $jsonString の値:
  // "{"LastName":"Monroe","telephone":"[2128675309,2128671234]",
  // "age":40,"FirstName":"Alan"}"

 
プロパティ 

プロダクト: 4D
テーマ: オブジェクト(ランゲージ)
番号: 1220

 
履歴 

New
初出: 4D v14

 
参照 

OB REMOVE
OB SET ARRAY
OB SET NULL

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v14 R2)
ランゲージリファレンス ( 4D v14 R3)
ランゲージリファレンス ( 4D v14.3)
ランゲージリファレンス ( 4D v14 R4)