4D v14.3JSON Parse |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
JSON Parse
|
JSON Parse ( jsonString {; type} ) -> 戻り値 | ||||||||
引数 | 型 | 説明 | ||||||
jsonString | 文字 |
![]() |
解析したいJSON文字列 | |||||
type | 倍長整数 |
![]() |
値を変換したい型 | |||||
戻り値 | Object, テキスト, ブール, ポインター, 実数 |
![]() |
JSON文字列から取り出した値 | |||||
JSON Parseコマンドは、JSONフォーマットの文字列の中身を解析し、4Dのフィールドまたは変数へと保存可能な値を取り出します。このコマンドはJSONデータをデシリアライズします。つまり JSON Stringifyコマンドと逆の挙動をします。
jsonString 引数には、解析をしたいJSONフォーマットの文字列を渡します。この文字列が正しくフォーマットされていないと、解析はエラーを生成します。
注: ポインターを使用した場合、JSON Parseを使用する前に JSON Stringify コマンドを使用する必要があります。
type 引数を省略した場合、結果を保存するのに使用する変数またはフィールドが定義されていれば、4Dは自動的に、取得した値をその型へと変換します。そうでない場合は4Dは型を推測します。type 引数を渡す事によって変換する型を強制的に指定することもできます。渡す場合は、 Field and Variable Typesテーマ内にある以下の定数のどれか一つを渡して下さい。
定数 | 型 | 値 |
Is Boolean | 倍長整数 | 6 |
Is date | 倍長整数 | 4 |
Is LongInt | 倍長整数 | 9 |
Is real | 倍長整数 | 1 |
Is text | 倍長整数 | 2 |
注:
単純な変換の例:
C_REAL($r)
$r:=JSON Parse("42.17") //$r = 42,17 (Real)
C_LONGINT($el)
$el:=JSON Parse("120.13";Is LongInt) //$el=120
C_TEXT($t)
$t:=JSON Parse("\"Year 42\"";Is text) // $t="Year 42" (text)
C_OBJECT($o)
$o:=JSON Parse("{\"name\":\"jean\"}")
// $o = {"name":"john"} (4D object)
C_BOOLEAN($b)
$b:=JSON Parse("{\"manager\":true}";Is Boolean) // $b=true
日付型のデータの変換の例:
ここでは JSON Stringify と JSON Parse コマンドの併用例を紹介しています:
C_TEXT($MyContact)
C_OBJECT($Contact)
// JSON Stringify: JSON オブジェクトからJSON文字列への変換
$MyContact:=JSON Stringify("{\"name\":\"Monroe\",\"firstname\":\"Alan\"}")
// $MyContact = "{\\"name\\":\\"Monroe\\",\\"firstname\\":\\"Alan\\"}"
// JSON Parse: JSON文字列からJSONオブジェクトへの変換
$Contact:=JSON Parse("{\"name\":\"Monroe\",\"firstname\":\"Alan\"}")
// $Contact = {"name":"Monroe","firstname":"Alan"}
プロダクト: 4D
テーマ: JSON
番号:
1218
初出: 4D v14
Field and Variable Types
JSON PARSE ARRAY
JSON Stringify
ランゲージリファレンス ( 4D v14 R2)
ランゲージリファレンス ( 4D v14 R3)
ランゲージリファレンス ( 4D v14.3)
ランゲージリファレンス ( 4D v14 R4)