【问题标题】:Fetching index of array inside JSON object on javascript在javascript上获取JSON对象内数组的索引
【发布时间】:2026-02-14 17:30:01
【问题描述】:

我正在尝试获取 JSON 对象数组中的数字值。

这是 JSON 对象的样子

 {
    "item[]": [
            "1",
            "2",
            "3",
            "4",
            "5",
            "6",
            "8",
            "7",
            "9",
            "10",
            "11",
            "12"
    ]
}

这个对象来自一个 jquery 序列化。我试过了,

var obj = req.body;
obj.length //Returns undefined

obj.item ///Return undefined

obj.item[] //Program crashes

我需要访问该值,以便让它看起来像:

Index 1 = 1
Index 2 = 2
Index 3 = 3 //And so on

如何通过在 javascript 中循环来实现这一点?

【问题讨论】:

  • obj['item[]'].length
  • var obj = req.body; 如果此代码在节点服务器上,那么您是否在节点上执行app.use(bodyParser.json())
  • JSON 是一种用于数据交换的文本符号(More) 如果您正在处理 JavaScript 源代码,而不是处理 string,那么您就不是在处理 JSON。如果您正在处理字符串,请使用JSON.parse 来解析它,此时您不再处理字符串。但鉴于 obj.length 未定义,听起来您不是在处理字符串。

标签: javascript jquery arrays json


【解决方案1】:

您应该使用括号符号obj['item[]'] 而不是点符号,然后您可以使用forEach 循环来获取数组的每个元素。

var obj = {"item[]":["1","2","3","4","5","6","8","7","9","10","11","12"]}

obj['item[]'].forEach(function(e, i) {
  console.log('Index ' + i + ' = ' + e);
})

【讨论】: