JSONParser クラス
名前空間
使用方法
System.JSONParser メソッドを使用して、Web サービスコールアウトの JSON 符号化方式の応答など、コールから外部サービスに返される JSON 形式の応答を解析します。
JSONParser のメソッド
JSONParser のメソッドは次のとおりです。すべてインスタンスメソッドです。
clearCurrentToken()
署名
public Void clearCurrentToken()
戻り値
型: Void
使用方法
このメソッドがコールされた後は、hasCurrentToken へのコールは false を返し、getCurrentToken へのコールは null を返します。getLastClearedToken をコールして、クリアされたトークンを取得できます。
getBlobValue()
署名
public Blob getBlobValue()
戻り値
型: Blob
使用方法
現在のトークンは JSONToken.VALUE_STRING 型で Base64 ���符号化されている必要があります。
getBooleanValue()
署名
public Boolean getBooleanValue()
戻り値
型: Boolean
使用方法
現在のトークンは JSONToken.VALUE_TRUE 型または JSONToken.VALUE_FALSE 型である必要があります。
getCurrentName()
署名
public String getCurrentName()
戻り値
型: String
使用方法
現在のトークンが JSONToken.FIELD_NAME 型の場合、getText と同じ値を返します。現在のトークンが値の場合、このトークンより前にある項目名を返します。配列値やルートレベル値など他の値の場合は null を返します。
次の例では、サンプルの JSON 文字列を解析します。項目値まで処理を進めて、対応する項目名を取得します。
例
getCurrentToken()
署名
public System.JSONToken getCurrentToken()
戻り値
使用方法
getDatetimeValue()
署名
public Datetime getDatetimeValue()
戻り値
型: Datetime
使用方法
現在のトークンは JSONToken.VALUE_STRING 型である必要があり、ISO-8601 形式の Datetime 値を表す必要があります。
getDateValue()
署名
public Date getDateValue()
戻り値
型: Date
使用方法
現在のトークンは JSONToken.VALUE_STRING 型である必要があり、ISO-8601 形式の Date 値を表す必要があります。
getDecimalValue()
署名
public Decimal getDecimalValue()
戻り値
型: Decimal
使用方法
現在のトークンは JSONToken.VALUE_NUMBER_FLOAT 型または JSONToken.VALUE_NUMBER_INT 型である必要があり、Decimal 型の値に変換可能な数値です。
getDoubleValue()
署名
public Double getDoubleValue()
戻り値
型: Double
使用方法
現在のトークンは JSONToken.VALUE_NUMBER_FLOAT 型である必要があり、Double 型の値に変換可能な数値です。
getIdValue()
署名
public ID getIdValue()
戻り値
型: ID
使用方法
現在のトークンは JSONToken.VALUE_STRING 型で、有効な ID である必要があります。
getIntegerValue()
署名
public Integer getIntegerValue()
戻り値
型: Integer
使用方法
現在のトークンは JSONToken.VALUE_NUMBER_INT 型で、Integer を表す必要があります。
getLastClearedToken()
署名
public System.JSONToken getLastClearedToken()
戻り値
getLongValue()
署名
public Long getLongValue()
戻り値
型: Long
使用方法
現在のトークンは JSONToken.VALUE_NUMBER_INT 型である必要があり、Long 型の値に変換可能な数値です。
getText()
署名
public String getText()
戻り値
型: String
使用方法
nextToken が一度もコールされていない場合、またはパーサーが入力ストリームの終了に達した場合は、現在のトークンは存在しないため null を返します。
getTimeValue()
署名
public Time getTimeValue()
戻り値
型: Time
使用方法
現在のトークンは JSONToken.VALUE_STRING 型である必要があり、ISO-8601 形式の Time 値を表す必要があります。
hasCurrentToken()
署名
public Boolean hasCurrentToken()
戻り値
型: Boolean
nextToken()
署名
public System.JSONToken nextToken()
戻り値
使用方法
ストリームの処理を先に進めて、次のトークン (存在する場合) の型を特定します。
nextValue()
署名
public System.JSONToken nextValue()
戻り値
使用方法
ストリームの処理を先に進めて、JSON 配列、オブジェクトの開始マーク、終了マークなど、値の型を示す次のトークン (存在する場合) の型を特定します。
readValueAs(apexType)
署名
public Object readValueAs(System.Type apexType)
パラメータ
- apexType
- 型: System.Type
- apexType 引数は、このメソッドが現在の値を並列化した後に返すオブジェクトの型を指定します。
戻り値
型: Object
使用方法
JSON コンテンツに、System.Type 引数に存在しない属性 (存在しない項目やオブジェクトなど) が含まれている場合、一定の状況で並列化に失敗します。Salesforce API バージョン 34.0 以前を使用して JSON コンテンツをカスタムオブジェクトまたは sObject に並列化すると、無関係な属性が渡されたときにこのメソッドが実行時例外を発生させます。JSON コンテンツを API の全バージョンの Apex クラスまたは API バージョン 35.0 以降のオブジェクトに並列化したときは、例外が発生しません。例外が発生しない場合、このメソッドは無関係な属性を無視して、残りの JSON コンテンツを解析します。
例
readValueAsStrict(apexType)
署名
public Object readValueAsStrict(System.Type apexType)
パラメータ
- apexType
- 型: System.Type
- apexType 引数は、このメソッドが現在の値を並列化した後に返すオブジェクトの型を指定します。
戻り値
型: Object
使用方法
JSON コンテンツに、System.Type 引数に存在しない属性 (存在しない項目やオブジェクトなど) が含まれている場合、一定の状況で並列化に失敗します。無関係な属性のある JSON コンテンツを Apex クラスに並列化すると、API のどのバージョンでもこのメソッドが例外を発生させます。ただし、このメソッドを使用して JSON コンテンツをカスタムオブジェクトまたは sObject に並列化する場合は、例外が発生しません。