我将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的输出时,它会显示上面的输出。
答案 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