Javascript 从单元格中的JSON数据创建对象
在我的谷歌电子表格中,我有一个包含JSON数据的单元格A1:Javascript 从单元格中的JSON数据创建对象,javascript,object,google-sheets,Javascript,Object,Google Sheets,在我的谷歌电子表格中,我有一个包含JSON数据的单元格A1: { "car": 2, "train": 8, "plane": 5 } 在脚本编辑器中,我有以下函数sortOrder,该函数按降序对数据进行排序,并返回相应的最大数字键(在本例中为train): 但这仅在我在函数中设置obj时有效,如下所示: var obj = { "car": 2, "train": 8, "plane": 5 } 相反,我需要将对象作为函数的参数。函数处理单
{
"car": 2,
"train": 8,
"plane": 5
}
在脚本编辑器中,我有以下函数sortOrder
,该函数按降序对数据进行排序,并返回相应的最大数字键(在本例中为train
):
但这仅在我在函数中设置obj
时有效,如下所示:
var obj = {
"car": 2,
"train": 8,
"plane": 5
}
相反,我需要将对象作为函数的参数。函数处理单元格内容的方式似乎有问题
非常感谢你的阅读 如果
var obj=string
返回字符串的最后一个字符}
,请尝试使用
var obj=JSON.parse(字符串)代码>
反而
var obj=JSON.parse(string.responseText)代码>
它将把你的JSON字符串转换成一个对象。什么是string.responseText
print?是否未定义?函数sortOrder(string){return string.responseText}
将单元格留空,没有错误消息。如果我只是添加var obj=JSON.parse(string.responseText)代码>我收到一条错误消息语法错误:JSON中的意外标记u位于位置0(第2行)。
,第2行是我声明变量obj
的那一行。声明的错误消息表示不需要JSON.parse。所以string.responseText可能是一个对象。您的string.responseText是否依赖于任何API调用或基于承诺的方法?我拿走了JSON.parse
。现在var obj=string.responseText
返回错误消息TypeError:无法将未定义或null转换为object(第20行)。
,第20行为让maxKey=object.keys(obj)[0]
。我不确定我是否理解您的问题,但JSON数据只是手动添加到单元格中的文本。编辑:当我设置var obj=string时
然后返回obj[maxKey]
,它返回字符串的最后一个字符(}
)。编辑:我成功了var obj=JSON.parse(字符串)代码>我发誓我以前试过?很抱歉给您带来不便!
var obj = {
"car": 2,
"train": 8,
"plane": 5
}