gpt4 book ai didi

google-apps-script - 谷歌应用程序脚本属性服务 getProperties() 返回值未定义

转载 作者:行者123 更新时间:2023-12-03 03:40:04 25 4
gpt4 key购买 nike

我有一个包含 JSON 的键值映射

 var prop = {
0 : [{"start":0, "end":10}, {"start":15, "end" : 30}],
1 : [{"start":3, "end":11}],
2 : [{"start":6, "end":9},{"start":9,"end" :17},{"start":32,"end":39}],
4 : [],
5 : [{"start":19,"end":27}]
};

我想将此对象保存在 PropertiesService userProperties 中,因此我首先对值进行字符串化(因为 PropertiesService 仅允许字符串值),然后已保存。

for(var i in prop){
prop[i] = JSON.stringify(prop[i]);
}
var userProperties = PropertiesService.getUserProperties();
userProperties.setProperties(prop, true);

后来,当我使用 Properties.getProperties() 方法检索属性时,它返回了属性对象。

var userProperties = PropertiesService.getUserProperties();
var pro = userProperties.getProperties();

问题是 Logger.log(pro) 显示了 prop 对象,但是当我尝试使用 pro[index] 访问属性值时> 如 documentation 中所述它返回未定义

当我尝试使用 userProperties.getProperty(i) 访问值时,它会返回该值。

我的问题是为什么我无法以这种方式访问​​属性:

for(var i in pro){
Logger.log(pro[i]); // returns undefined
}

但是下面的代码可以工作

for(var i in pro){
Logger.log(userProperties.getProperty(i)); //successfully returns value
}

最佳答案

我找到了答案,问题出在键上,PropertiesService只允许键和值都是String类型。

var prop = {
"p0" : [{"start":0, "end":10}, {"start":15, "end" : 30}],
"p1" : [{"start":3, "end":11}],
"p2" : [{"start":6, "end":9},{"start":9,"end" :17},{"start":32,"end":39}],
"p4" : [],
"p5" : [{"start":19,"end":27}]
};

现在当我使用键访问值时,它起作用了

var userProperties = PropertiesService.getUserProperties();
var pro = userProperties.getProperties();
for(var i in pro){
Logger.log(pro[i]); // returns value successfully
}

所以键和值都应该是字符串类型

关于google-apps-script - 谷歌应用程序脚本属性服务 getProperties() 返回值未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31695466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com