| 4D v15.4JSON Parse | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v15.4
 JSON Parse 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| JSON Parse ( jsonString {; type} ) -> 戻り値 | ||||||||
| 引数 | 型 | 説明 | ||||||
| jsonString | 文字 |   | 解析したいJSON文字列 | |||||
| type | 倍長整数 |   | 値を変換したい型 | |||||
| 戻り値 | Object, テキスト, ブール, ポインター, 実数 |   | JSON文字列から取り出した値 | |||||
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 | 
注:
単純な変換の例:
 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
JSON validator
	
	ランゲージリファレンス ( 4D v15)
	
	ランゲージリファレンス ( 4D v15.4)
	
	ランゲージリファレンス ( 4D v15.3)
 コメントを追加
コメントを追加