4D v16.3

JSON Parse

ホーム

 
4D v16.3
JSON Parse

JSON Parse 


 

JSON Parse ( jsonString {; type} ) -> 戻り値 
引数   説明
jsonString  文字 in 解析したいJSON文字列
type  倍長整数 in 値を変換したい型
戻り値  Object, テキスト, ブール, ポインター, 実数 in JSON文字列から取り出した値

説明   

JSON Parseコマンドは、JSONフォーマットの文字列の中身を解析し、4Dのフィールドまた は変数へと保存可能な値を取り出します。このコマンドはJSONデータをデシリアライズします。つまり JSON Stringifyコマンドと逆の挙動をします。

jsonString 引数には、解析をしたいJSONフォーマットの文字列を渡します。この文字列が正しくフォーマットされていないと、解析はエラーを生成します。なので、JSON ParseをしようしてJSON文字列を評価することができます。

注: ポインターを使用した場合、JSON Parseを使用する前に JSON Stringify コマンドを使用する必要があります。

type 引数を省略した場合、結果を保存するのに使用する変数またはフィールドが定義されていれば、4Dは自動的に、取得した値をその型へと変換します。そうでない場合は4Dは型を推測します。type 引数を渡す事によって変換する型を強制的に指定することもできます。渡す場合は、 Field and Variable Typesテーマ内にある以下の定数のどれか一つを渡して下さい。

定数
Is Boolean 倍長整数 6
Is date 倍長整数 4
Is longint 倍長整数 9
Is object 倍長整数 38
Is real 倍長整数 1
Is text 倍長整数 2

:

  • 実数型の値は ±10.421e±10の範囲内に収まっていなければなりません。
  • テキスト型の値の場合、全ての特殊文字は引用符を含めエスケープされてなければなりません(例を参照して下さい)。
JSON の日付は全て "\"YYYY-MM-DDTHH:mm:ssZ\""のフォーマットでなければなりません。このコマンドは4Dの日付がGMTではなくローカル時刻を含むことを考慮します。

単純な変換の例:

 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\":\"john\"}")
  // $o = {"name":"john"} (4D object)
 
 C_BOOLEAN($b)
 $b:=JSON Parse("{\"manager\":true}";Is Boolean// $b=true

日付型のデータの変換の例:

 $test:=JSON Parse("\"1990-12-25T12:00:00Z\"")
  // $test=1990-12-25T12:00:00Z
 C_DATE($date)
 $date:=JSON Parse("\"2008-01-01T12:00:00Z\"";Is date)
  //$date=01/01/08

ここでは JSON StringifyJSON Parse コマンドの併用例を紹介しています:

 C_TEXT($JSONContact)
 C_OBJECT($Contact;$Contact2)
 $Contact:=New object("name";"Monroe";"firstname";"Alan")
 
  // JSON Stringify: JSON オブジェクトからJSON文字列への変換
 $JSONContact:=JSON Stringify($Contact)
 
  // JSON Parse: JSON文字列からJSONオブジェクトへの変換
 $Contact2:=JSON Parse($JSONContact)



参照 

Field and Variable Types
JSON PARSE ARRAY
JSON Stringify

 
プロパティ 

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

This command can be run in preemptive processes

 
履歴 

初出: 4D v14

 
タグ 

JSON validator

 
ARTICLE USAGE

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