我有一个像[{0},{1},{2}..]
这样的json响应,每个索引都包含对象数据。我也有一个像a{}
这样的对象,它也包含对象数据。我想要的是在对象的“内部”(末尾)添加每个索引,例如[{0..a},{1..a},{2a}]
。
答案 0 :(得分:0)
因此,假设您的json响应位于某个变量中(假设其名为jsonResponse),并且a是可以执行的对象:
jsonResponse.push(a)
这会将一个对象添加到jsonResponse数组的末尾。
这假设jsonResponse是一个数组,如果它是一个字符串,则可能必须执行以下操作:
let jsonResponse = JSON.parse(responsestring)
答案 1 :(得分:0)
据我了解,您想向JSON响应中的每个对象添加对象A?
如果是这样,请尝试:
var jsonResponse = [{a: 1}, {a: 1}, {a: 1}]
var objToAppend = {b:2}
for(var objectInJsonResponse of jsonResponse){
objectInJsonResponse.appendedObject = objToAppend;
}
这将导致:
console.log(jsonResponse)
[{a:1,appendedObject:{b:2}},{a:1,appendedObject:{b:2}},{a:1,appendedObject:{b:2}}]
当然,您可以将appendedObject的名称更改为您想要的键名称。
答案 2 :(得分:0)
合并两个json对象:
function combineObj(ob1, ob2) {
return Object.fromEntries(Object.entries(ob1).concat(Object.entries(ob2)));
}
var a = [{b:1},{q:3},{s:2}],
b = {a:2};
var result = a.map(x=>combineObj(x,b));
console.log(result);
答案 3 :(得分:0)
使用 JSON.parse 解析json响应,然后对其进行迭代并将对象添加到每个对象中
var resp = '[{"data":"1"},{"data":"2"},{"data":"3"},{"data":"4"}]';
var arr = JSON.parse(resp);
console.log(arr);
var a = {
data: 5
};
arr.forEach(function(element,i) {
arr[i].a = a;
});
console.log(arr)
答案 4 :(得分:0)
您的问题并不十分清楚,但是听起来您想看一下array.map。
例如:
let arr = [{x:1,y:2},{x:3,y:4}];
const foo = arr.map(obj=>{obj.z=42; return obj})
console.log("GOT:", foo);