首页 > 解决方案 > 将数据附加到 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 个字符。)

标签: javascriptarraysjsonappendpush

解决方案


要修复您的代码,请使用它,M[0]因为它是一个数组。

JSON_local_dat.M[0].P.push(d);


推荐阅读