特定のタスクを自動化するためのGoogleスクリプトを作成し始めています。ここでは自分では理解できない問題に取り組んでいます。私はアプリのスクリプトの専門家でも(まだ)またはJavaScriptでもないと言わなければならない。Googleスクリプトのヌルオブジェクト - 理由を理解できない
これは私の問題です。私はいくつかのデータを取得するために(プライベート)REST APIを呼び出します。結果を取得し、解析してJsonオブジェクトを取得します。次に、スプレッドシートにいくつかのプロパティを書きたいと思います。何らかの理由で、ネストされたオブジェクトを操作することができません。
は、私は、このJSONペイロードのリストを持っていると言う:
{
id: 2146904633,
status: "in_progress",
success_probability: 99,
amount: "0.0",
decision_maker: "Bob Mauranne",
business_contact: {
id: 2142664162,
nickname: "NIL",
}
}
編集:私は私が貼り付けコードでミスを犯したが(businessContactが宣言されていなかった、代わりに変数BCが宣言された)コメントを.Thanks :)以下のコードは正しいですが、それでも動作しません。
この(過度に単純化された)コードと同じように私はそれを得る:私の問題は、私はbusinessContact.idを呼び出すときに、私はエラー「:nullのオブジェクトからプロパティIDを読み取ることができません例外TypeError」を得ることである
var response = UrlFetchApp.fetch(url);
var dataAll = JSON.parse(response.getContentText());
var data, businessContact;
for (i = 0; i < dataAll.length; i++) {
data = dataAll[i];
businessContact = data.business_contact;
Logger.log(data.status);
Logger.log(businessContact);
Logger.log(businessContact.id);
}
。そして、私はbusinessContactから内容を見ることができるので理解できません:ログ呼び出しかデバッガかのどちらかから、それは絶対にnullではありません。
単純なプロパティではエラーが発生しないため、ネストされたオブジェクトでのみ発生するようです。そして、私はこれまでに試したjsonペイロードと同じネストされたオブジェクトに同じ問題を抱えています...
私は解決策をインターネットで検索しましたが、何も見つかりませんでした。それはおそらく非常に基本的ですが、私はそれを働かせることはできません。
businessContactに値を与えないでください。 bcには1があり、データには値があります。 –
私は悪いです、私は貼り付けたコードを間違えました。現在のコードは正しくなりましたが、まだバグはあります。 – daffycricket