Page History
...
| Info |
|---|
XPRIM_RandomAccessJsonReader を使って、自身の JSON データのどの部分でも読み込むことが可能です。これは名前またはインデックスで参照できます。 |
例 - 応答本文を JSON として読み込む
Google マップのジオコーディング要求を実行すると、次のような応答を受け取ります。
...
Define_Com Class(#XPRIM_HttpRequest) Name(#Req)
Define_Com Class(#XPRIM_RandomAccessJsonReader) Name(#Reader)
...
#Req.DoGet Url('https://maps.googleapis.com/maps/api/geocode/json?...')
* 要求が正しく実行されたか確認
If (#Req.Response.IsSuccessHttpStatusCode)
* 応答のJSON リーダー・ソースを HTTP 要求から設定
#Reader.SetSourceHttpResponse HttpResponse(#Req.Response)
* ('lat' と 'lng' 値が含まれている) 'location' オブジェクトにナビゲート
* ナビゲーション・パスを指定して、'location' エレメントへナビゲート
* パスの名前とインデックスはスラッシュで区切る
#Reader.BeginObjectWithPath Path('results/1/geometry/location') * 緯度と経度の値を取得
#Latitude := #Reader.ReadNumberWithName('lat')
#Longitude := #Reader.ReadNumberWithName('lng') * "BeginObject" を "EndObject" で終了
#Reader.EndObject
Endif
次は:無効な応答を確認