質問: apiの流れがいまいち分かりません。 apiを使うとxmlやjson形式でレスポンスが返ってきてそれをスクリプトコードで解読すると聞いたのですが、 下記のapiコードはどこにjson形式など使われているのでしょうか? ### map6_1.html ``` Google Maps API サンプル 瑞穂運動場です。 ```
回答: JSON サーバから受け取っているデータは**JSON**(技法的にはJSONP)ではないでしょうか。 !イメージ説明 ### 配列初期化子 厳密には、`ViewportInfoService.GetViewportInfo` はJavaScriptコードとして受け取っていて、`["地図データ ©2019 Google",[...]]` は**配列初期化子**として扱われています。 * 12.2.5 Array Initializer - ECMAScript® 2019 Language Specification Googleサーバ側ではJavaScriptコード生成時にJSONにシリアライズする事で実装していると思われますが、クライアント側から見れば、**JSONではありません**。 「JavaScriptコード」を返し、**受け取ったJavaScriptコードを直接実行する**のがJSONPの特徴です。 ### HTTPレスポンス HTTP通信は**文字列**でデータ交換を行うものなので、JavaScriptからそれらを扱うにはJavaScriptのデータに変換可能な**書式**でなければなりません。 * `JSON.parse` (JSONのパーサ) * `DOMParser` (HTMLのパーサ) * `document.implementation.createDocument` (XMLのパーサ) のように予め、JavaScriptが標準でパーサを用意している書式は扱いやすいといえます。 書式が決まっていれば、これらでなくてもOKですが、例えば、 * サーバからCSV書式を返すよ * JavaScript標準APIにCSVパーサはないから、自分で頑張って書いてね というドキュメントはあまりに不親切なので、 * サーバからCSV書式を返すよ * CSVパーサは標準にないから、こちらで用意した `google.CSV.parse` を使ってね という仕様になると思われますが、Googleが自社でパーサを書くより、予め用意されているパーサを使う方がコストが安く、安全です。 Re: Ms.yy さん