4D v16.3JSON Stringify |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
JSON Stringify
|
JSON Stringify ( value {; *} ) -> 戻り値 | ||||||||
引数 | 型 | 説明 | ||||||
value | Object, Object array, 文字, 実数, 日付, 時間 |
![]() |
JSON文字列に変換したいデータ | |||||
* | 演算子 |
![]() |
整形フォーマット | |||||
戻り値 | テキスト |
![]() |
シリアライズされたJSONテキストを含む文字列 | |||||
JSON Stringifyコマンドは、 value 引数を、JSON文字列へと変換します。このコマンドはデータをJSONへとシリアライズします。つまり JSON Parse コマンドと逆の挙動をします。
シリアライズしたいデータをvalue に渡します。スカラー値(文字列、数字、日付または時間)または4Dオブジェクト(またはオブジェクト配列)を渡す事ができます。
オブジェクトを渡す場合、全ての型の値を含めることができます( JSON データ型 の賞を参照して下さい)。JSONフォーマットは以下の規則に則っている必要があります。
任意の* 演算子を渡すことによって、戻り値の文字列にフォーマット文字を含めることができます。これにより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エリアに表示されれば一目瞭然です。
プロダクト: 4D
テーマ: JSON
番号:
1217
初出: 4D v14
ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)