【问题标题】:Google Script - iterate over JSON object key value pairsGoogle Script - 遍历 JSON 对象键值对
【发布时间】:2020-07-09 07:02:42
【问题描述】:

我对 JSON 对象的迭代没有按预期工作。 怎么了?

function handleResponse(e) {
  var jsonObj = JSON.parse(e.postData.contents);
  console.log("Note=" + jsonObj['Note'] + ", Market=" + jsonObj['Market']);
  // --> "Note=blabla, Market=flowerMarket"

  for (var [key,val] in jsonObj) {
    console.log("Key="+key); 
    console.log("Value="+val);
  }
  // --> "Key=N" "Value=o" "Key=M" "Value=a"
}

日志显示我的循环仅将值的第一个字母作为整个值,将值的第二个字母作为键。如何获取整个键值对!?

【问题讨论】:

    标签: json loops google-apps-script key-value


    【解决方案1】:

    在您的for (var [key,val] in jsonObj) {} 脚本中,密钥与每个字符分开。并且,检索前 2 个字符。由此,检索到这样的结果。我认为这是您的问题的原因。

    如果你想在for循环中使用[key,val]检索值,我想提出以下修改。

    发件人:

    for (var [key,val] in jsonObj) {
      console.log("Key="+key); 
      console.log("Value="+val);
    }
    

    收件人:

    for (var [key,val] of Object.entries(jsonObj)) {
      console.log("Key="+key); 
      console.log("Value="+val);
    }
    

    参考资料:

    【讨论】:

      【解决方案2】:
      function handleResponse(e) {
        const jsonObj = JSON.parse(e.postData.contents);
        console.log('Note= %s,Market= %s',jsonObj.Note,jsonObj.Market);
        for(let key in jsonObj) {
          console.log("Key="+key); 
          console.log("Value="+jsonObj[key]);
        }
      }
      

      【讨论】:

        猜你喜欢
        • 2021-11-22
        • 2018-09-23
        • 2017-08-30
        • 2019-05-06
        • 2011-08-03
        • 2015-01-11
        相关资源
        最近更新 更多