javascript - SyntaxError:提取 JSON 数据时出现意外数字
问题描述
我试图IncPubKey
从“0”中提取 JSON 数据,但我收到了 SyntaxError。在 postman 中,返回的部分数据如下所示:
"ShardCommittee": {
"0": [{
"IncPubKey": "12RRMGAEXdtD796sbmyHwNv9oiPPfGYa1r6KssMqXyiUMfT6r86",
"MiningPubKey": {
"bls": "184UyUYNPg1ESgEXzUZY6dWjxohyZSvE4f5XnkssHhonRNopAp2bxqxCAToYGUsgeyrWeKQJmnLkgeCm95XYK5mjD2KjFPKkrrwLyiXscUAJ9mVubTCft4Z1ra3S9Ca4ojx1P5ajMNaS2Yc9C1rh8qr2S7VE6KCk7YMnBpdkyWdiTrmGtUUjx",
"dsa": "16Be2DoUxNMzxidLKBqDC6gMkqMZ9bSijBvpRirvioZiqmVGDkg"
}
},
{
"IncPubKey": "1VVQRGZFhMyp9LRS1yjyXsW6ugMqtHaYyUYMLutRhy6ASF7AWf",
"MiningPubKey": {
"bls": "1ELnsFdz5M4RDvShVvcAKE4bbv6dZED31MeSKgRKhDiYgTiJeWT94zvw2VHeytVxEDExMeemPqXL7DA1CnNBGbjTMarv1vXd1A6oi5JctfM4u8Totjpqr8VNFtQbgHqJ1wSYdFz5hgwEq8QkmDdf71WPPdYEkpG5ow3DYeAAwFkArQZvn1C4F",
"dsa": "18BTfn7mbDBXgysaHZsrGqbN3T2K3gEChsEXXuzkwKEo96eU3Nf"
}
},
但在 google 中,它似乎不喜欢数字“0”。
for (let i = 0; i < d.Result.ShardCommittee.0.length; i++) {
sh1.getRange(i + 2, 3).setValue(d.Result.ShardCommittee.0[i].IncPubKey);
}
当我退后一步并将所有数据拉入一个单元格时:
sh1.getRange(2, 3).setValue(d.Result.ShardCommittee);
这是返回的结果:
{ 0=[Ljava.lang.Object;@41d079f7, 1=[Ljava.lang.Object;@7197d9a6, 2=[Ljava.lang.Object;@23a1916a, 3=[Ljava.lang.Object;@657f1624, 4=[Ljava.lang.Object;@c3808bd, 5=[Ljava.lang.Object;@186f5f86, 6=[Ljava.lang.Object;@60f6425c, 7=[Ljava.lang.Object;@6cc43c2c}
知道如何重写以提取IncPubKey
数据吗?
解决方案
您不能使用数字作为“点”表示法中的键,而是使用数组样式表示法:
Result.ShardCommittee["0"].length;
和
d.Result.ShardCommittee.["0"][i].IncPubKey
这是一个 javascript 语法问题,而不是特定于 Google Apps 脚本的问题。
在上一个示例中,您将整个对象写入一个单元格,您会看到将结构转换为字符串的结果。如果要将原始对象写入电子表格中的单元格以供检查,则应首先将它们转换为 JSON。
sh1.getRange(2, 3).setValue(JSON.stringify(d.Result.ShardCommittee));
推荐阅读
- python - 如何在 Mac OS Catalina zsh shell 上永久设置用户 PATH
- alfresco - Alfresco 从 PPTX 文件创建 PDF 再现
- r - 将多边形 shapefile 导出为 XY 顶点对列表
- neo4j - Neo4J 查询最常见的关系
- python - iPython:用 try/except 杀死一个 for 循环?
- python - 分配简单变量命名后的 KeyError
- python - 为什么当我尝试将元组输入到树视图时只有一半被读取
- php - 计算两列值不匹配的行数
- bootstrap-4 - 格式化 thymeleaf 表头,垂直对齐
- java - 关于如何在 Java 中构建我自己的 StringBuilder 类的建议?