4D v16.3

JSON Stringify

ホーム

 
4D v16.3
JSON Stringify

JSON Stringify 


 

JSON Stringify ( value {; *} ) -> 戻り値 
引数   説明
value  Object, Object array, 文字, 実数, 日付, 時間 in JSON文字列に変換したいデータ
演算子 in 整形フォーマット
戻り値  テキスト in シリアライズされたJSONテキストを含む文字列

説明   

JSON Stringifyコマンドは、 value 引数を、JSON文字列へと変換します。このコマンドはデータをJSONへとシリアライズします。つまり JSON Parse コマンドと逆の挙動をします。

シリアライズしたいデータをvalue に渡します。スカラー値(文字列、数字、日付または時間)または4Dオブジェクト(またはオブジェクト配列)を渡す事ができます。

オブジェクトを渡す場合、全ての型の値を含めることができます( JSON データ型 の賞を参照して下さい)。JSONフォーマットは以下の規則に則っている必要があります。

  • 文字列の値は引用符で囲われている必要があります。ユニコード文字は全て使用できますが、特殊文字はパックスラッシュでエスケープする必要があります。
  • 数字は ±10.421e±10の範囲内におさまっていなければなりません。
  • ブール型:"true"または"false"の文字列
  • フィールド、変数、配列へのポインター(ポインターは文字列化したときに評価されます)。
  • 日付:テキスト型
  • 時間:実数型

任意の* 演算子を渡すことによって、戻り値の文字列にフォーマット文字を含めることができます。これによりJSONデータの表示が改善されます(いわゆる整形フォーマティングです)。

スカラー値の変換:

 $vc:=JSON Stringify("Eureka!") // "Eureka!"
 $vel:=JSON Stringify(120) // "120"
 $vd:=JSON Stringify(!28/08/2013!) //  "2013-08-27T22:00:00Z"
 $vh:=JSON Stringify(?20:00:00?) // "72000000" seconds since midnight

特殊文字を含む文字列の変換:

 $s:=JSON Stringify("{\"name\":\"john\"}")
  // $s="{\\"name\\":\\"john\\"}"
 $p:=JSON Parse($s)
  // $p={"name":"john"}

変数へのポインターの使用例:

 C_OBJECT($MyTestVar)
 C_TEXT($name ;$jsonstring )
 OB SET($MyTestVar;"name";->$name// object definition
  // $MyTestVar= {"name":"->$name"}
 
 $jsonstring :=JSON Stringify($MyTestVar)
  // $jsonstring ="{"name":""}"
  //...
 
 $name:="Smith"
 $jsonstring :=JSON Stringify($MyTestVar)
  //$jsonstring = "{"name" : "Smith"}"

4Dオブジェクトのシリアライズ:

 C_TEXT($varjsonTextserialized)
 C_OBJECT($Contact)
 OB SET($Contact;"firstname";"Alan")
 OB SET($Contact;"lastname";"Monroe")
 OB SET($Contact;"age";40)
 OB SET($Contact;"phone";"[555-0100,555-0120]")
 
 $varjsonTextserialized:=JSON Stringify($Contact)
 
  // $varjsonTextserialized = "{"lastname":"Monroe","phone":"[555-0100,
  // 555-0120]","age":40,"firstname":"Alan"}"

4Dオブジェクトを、* 演算子ありとなしでシリアライズした場合の例:

 C_TEXT($MyContact)
 C_TEXT($MyPContact)
 C_OBJECT($Contact;$Children)
 OB SET($Contact;"lastname";"Monroe";"firstname";"Alan")
 OB SET($Children;"firstname";"Jim";"age";"12")
 OB SET($Contact;"children";$Children)
 $MyContact:=JSON Stringify($Contact)
 $MyPContact:=JSON Stringify($Contact;*)
  //$MyContact= {"lastname":"Monroe","firstname":"Alan","children":{"firstname":"John","age":"12"}}
  //$MyPContact= {\n\t"lastname": "Monroe",\n\t"firstname": "Alan",\n\t"children": {\n\t\t"firstname": "John",\n\t\t"age": "12"\n\t}\n}

このフォーマティングを使った場合の利点はJSONがWebエリアに表示されれば一目瞭然です。

  • 標準フォーマティング:
  • 整形フォーマティング:



参照 

JSON Parse
JSON Stringify array

 
プロパティ 

プロダクト: 4D
テーマ: JSON
番号: 1217

This command can be run in preemptive processes

 
履歴 

初出: 4D v14

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)