初心者の Javascript プログラマーです。Javascript で作成されたカスタム関数を使用して、YQL クエリから Google ドライブ スプレッドシートに JSON 形式のデータを入れようとしています。私は、Web ページにデータを入力しているのではなく、スプレッドシートにデータを移動しているだけです。
JSON 応答は次のとおりです (スプレッドシートのセルに直接書き込むテスト関数からコピーしたもの)。
{"query":{"count":1,"created":"2013-08-29T20:56:58Z","lang":"en-US","results":{"optionsChain":{"有効期限":"2013-12-21","シンボル":"HYS","オプション":[{"シンボル":"HYS131221C00103000","タイプ":"C","行使価格":"103","最終価格":"3.00","change":"0","changeDir":null,"bid":"NaN","ask":"5","vol":"2","openInt":"2 "},{"symbol":"HYS131221C00105000","type":"C","strikePrice":"105","lastPrice":"0.40","change":"0","changeDir":null, "入札":"NaN","ask":"5","vol":"10","openInt":"11"},{"symbol":"HYS131221C00106000","type":"C","strikePrice" :"106","lastPrice":"0.05","change":"0","changeDir":null,"bid":"NaN","ask":"5","vol":"1" ,"openInt":"120"},{"symbol":"HYS131221C00107000","type":"C","strikePrice":"107","lastPrice":"0.10","change":"0" ,"changeDir":null,"bid":"NaN","ask":"0.2","vol":"40","openInt":"80"},{"symbol":"HYS131221P00100000","type":"P","strikePrice":"100","lastPrice":"0.70","change":"0","changeDir":null,"bid":"NaN"," ask":"5","vol":"1","openInt":"1"},{"symbol":"HYS131221P00102000","type":"P","strikePrice":"102"," lastPrice":"1.00","change":"0","changeDir":null,"bid":"NaN","ask":"5","vol":"15","openInt":" 15"},{"シンボル":"HYS131221P00103000","タイプ":"P","行使価格":"103","最終価格":"1.55","変更":"0","changeDir":null,"bid":"NaN","ask":"5","vol":"40","openInt":"50"},{"symbol":"HYS131221P00105000" ,"type":"P","strikePrice":"105","lastPrice":"2.35","change":"0","changeDir":null,"bid":"0.3","ask" :"5.2","vol":"15","openInt":"15"},{"symbol":"HYS131221P00107000","type":"P","strikePrice":"107","lastPrice" :"6.50","change":"0","changeDir":null,"bid":"2.05","ask":"7","vol":"2","openInt":"20"}]}}}}
ここで、上記の JSON 形式のオブジェクトを単純に変数に割り当てる (つまり、ハード コードする) と、名前と値のペアを確認したり、データを抽出したり、反復を実行したりできます。しかし、応答を変数に直接割り当てると、 (つまり、オンザフライで受信)何かを確認したり、繰り返したりすることができません。たとえば、変数「o」を受け取ってスプレッドシートのセルに書き込むことはできますが、最初の子である o["query"] は表示できません。クエリを開始する関数は、それを使用する関数内にあるため、タイミングの問題ではないと思います。