javascript - 将数据附加到 JSON 数组问题
问题描述
我在下面的代码中遇到问题,试图将数据推送到具有数组的 JSON 结构中。在下面的代码中,“M”是一个可以相加的数组,x 是一个整数值。我正在尝试使用 push 将多个条目放入数组“P”中,但出现以下错误:
未捕获的类型错误:无法读取未定义的属性“推送”
var x = 3;
var title = "A Title"
var JSON_local_dat = {"M":[{"T":title, "P":[]}]};
for(var i=0; i < x; i++)
{
var d = {"Something": 50};
JSON_local_dat.M.P.push(d);
console.log(JSON.stringify(JSON_local_dat.M.P));
}
我也试过删除双引号,但我得到了同样的错误。如果我尝试将数据推入“M”,则成功,但不是“P”。不明白为什么它不应该对我希望数据去往的 P 做同样的事情。
(顺便说一句,我使用单个字母作为名称,因为空间很紧,我用来传递数据的 API 将我限制为 4000 个字符。)
解决方案
要修复您的代码,请使用它,M[0]
因为它是一个数组。
JSON_local_dat.M[0].P.push(d);