Javascript 从单元格中的JSON数据创建对象

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 } 相反,我需要将对象作为函数的参数。函数处理单

在我的谷歌电子表格中,我有一个包含JSON数据的单元格A1:

{
  "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
}