Javascript API帮助如何获取json中的最后一个选项卡

Javascript API帮助如何获取json中的最后一个选项卡,javascript,node.js,json,api,discord.js,Javascript,Node.js,Json,Api,Discord.js,如何获取json代码的最后一个选项卡? 例: 我想得到的是当有人这样做的时候!水平 它表明 你的等级是“2” 我尝试使用.length 但是它的响应是未定义的。如果您试图获取JSON对象的长度,请使用.size而不是.length我认为它不是有效的JSON对象 { "claimed_levels": { "level_1", "level_2" } } 您使用“声明的_级别”作为对象的键,其值是一个对象,即: { "level_1", "level_2" }

如何获取json代码的最后一个选项卡? 例:

我想得到的是当有人这样做的时候!水平

它表明 你的等级是“2”

我尝试使用
.length


但是它的响应是未定义的。

如果您试图获取JSON对象的长度,请使用
.size
而不是
.length
我认为它不是有效的JSON对象

{
  "claimed_levels": {
     "level_1",
     "level_2"
  }
}
您使用“声明的_级别”作为对象的键,其值是一个对象,即:

{
  "level_1",
  "level_2"
}
但它不是一个正确的对象,您应该使用如下数组:

[
  "level_1",
  "level_2"
]
或键值对对象,如:

{
  "level_1":"1",
  "level_2":"2"
}

.length发送数组长度。几乎所有编程语言的索引都从0开始。然后[array.length-1]可能会起作用。

这将起作用:

let input = {
    "claimed_levels": {
        "level_1": true,
        "level_2": true
    }
};
let cl = input.claimed_levels;
console.log(Object.keys(cl)[Object.keys(cl).length-1]);

你需要小心你所说的“最后一次”是什么意思。旧的JavaScript规范说,您永远不能指望对象键的顺序。虽然情况已经改变,但仍可能取决于实施情况。具体来说,您可能需要测试“level_10”是否会在“level_2”(按字母顺序)之前排序。

我尝试过,但它仍然给我提供未定义的
声明的\u级别。size
您确定您正确引用了JSON对象吗?JSON对象是“声明的\u级别”:{“level_2”:true,“level_1”:true,“level_3”:true,“level_4”:true,“level_5”:true,“level_6”:true,“level_7”:true`我所做的是
声明的\u级别。正如您所说,大小
,但仍然未定义请参阅提供的解决方案@prateek3636,它包含大量信息。我在哪里可以看到它?是的,它是
{“level\u 1”:true,“level\u 2”:true}
但是有办法做到这一点吗?没有,因为
.length
是数组/集合上的一个属性。在这种情况下,您可以做的最接近的事情是
Object.keys({“level_1”:true,“level_2”:true})。length
告诉您JSON对象中的键数,在这种情况下是2。您必须使用Object.keys(
对象
)Langthas@ PRATEK3636指出,您的JSON对象无效。<长度>代码>仅在JSON阵列/集合上可用。这里您既不使用.Hi,马赫迪!我想通知您,您需要考虑ARARY.FULL可以是0的事实。在这种情况下,数组长度1将是-1,这将导致错误。这也不是一个错误。arrayI假设我们将字符串转换为数组
let input = {
    "claimed_levels": {
        "level_1": true,
        "level_2": true
    }
};
let cl = input.claimed_levels;
console.log(Object.keys(cl)[Object.keys(cl).length-1]);