json对象显示值1

时间:2015-09-19 23:31:08

标签: javascript json

我将json对象存储在json数组中并将其分配给另一个主json对象,但是当我打印main json对象的值时,它显示1.下面是代码。

var jsonMainObject= {};
var jsonArray= [];

for(var j=0;j<cu.receivedData.length;j++) {
jsonMainObject["company"] = jsonArray.push(cu.receivedData[j].company);
}

console.log(jsonMainObject)

以下是输出

{ company: 1 }

但它应该显示数组。当我打印jsonArray时它会显示对象数组,但是当我控制jsonMainObject的输出时,它会显示上面的输出。

2 个答案:

答案 0 :(得分:2)

push方法返回数组的新长度。请参阅 documentation 。我想你应该使用:

jsonMainObject["company"].push(valueToPush)

或使用concat documentation

jsonMainObject["company"] = jsonMainObject["company"].concat(valueToConcat)

答案 1 :(得分:1)

这里根本没有JSON。 JSON是用于表示数据的文本格式。你拥有的是一个带有JavaScript数组的JavaScript对象。

您正在尝试将数组放入对象中,同时将项目放入数组中。 push method不返回调用它的数组,它返回数组的长度。 public static String twoChars(String s){ String r= ""; for(int i=0; i<s.length(); i++) r=r+s.charAt(i)+s.charAt(i); return r; } 属性最终将包含company数组的长度。

您可以从开始将数组放在对象中:

receivedData