Utilities.jsonParseでJSONをパースできることを知り、やってみたけど
結果をfor inで回してるところでエラーになった。

どうやら
for (var i in jsonObj) {
  if (jsonObj.hasOwnProperty(i)) {
  }
}
のhasOwnPropertyでエラーになっているらしかった。


エラーメッセージも通常のundefinedを関数として実行したときと違っていて、
分かりづらかった。
TypeError: Cannot find default value for object.


再現用コード
function JSON_HasOwnProperty() {
  var obj = {};
  var jsonObj = Utilities.jsonParse('{"aaa":"aaa"}');
  Browser.msgBox(typeof Object.prototype.hasOwnProperty); //function
  Browser.msgBox(typeof jsonObj.hasOwnProperty); //undefined
  try {
    obj.undef(); //TypeError: Cannot find function undef in object [object Object].
  } catch (e) {
    Browser.msgBox(e);
  }
  try {
    jsonObj.hasOwnProperty('aaa'); //TypeError: Cannot find default value for object.
  } catch (e) {
    Browser.msgBox(e);
  }
}