所以我有一个看起来像这样的数组
[{"subbasinID":"1"},{"subbasinID":"2"}, etc....]
我需要在每条记录中添加更多值。如何添加到现有阵列,使其看起来像这样
[{"subbasinID":"1","test":"1","name":"john"},{"subbasinID":"2","test":"0"}]
我将知道我需要添加的下一个组的名称和值。我假设我必须识别我想要的记录,然后通过查找subbasinID来追加。不确定怎么样!谢谢!
答案 0 :(得分:2)
您拥有的是对象的列表(数组)。您所需要的只是迭代对象并向其添加元素。
var t = [{"subbasinID":"1"},{"subbasinID":"2"}/*, etc....*/]
t[0]["name"] = "John";
答案 1 :(得分:1)
我不确定我是否完全理解您的问题,但在JavaScript中添加对象非常简单。如果您愿意,可以使用jQuery .each
,但它也没有必要:
for (var x = 0; x < arrayVar.length; x++) {
arrayVar[x].test = test;
if (name) {
arrayVar[x].name = name;
}
}
答案 2 :(得分:1)
这里的json对象是一个数组..所以你可以访问像2D数组这样的值并操纵它。
var json = [{"subbasinID":"1","test":"1","name":"john"},{"subbasinID":"2","test":"0"}]
json[0]["test"] = "1" ; OR json[0].test = "1"
json[0]["name"] = "john"
json[1]["test"] = "0" ;
一旦您知道要添加的字段的名称,就可以提出一种通用方法。
答案 3 :(得分:1)
这是另一个通过查找ID并添加它。
var arr = [{"subbasinID":"1"},{"subbasinID":"2"}];
$.each(arr, function(i, arrVal) {
if (arrVal.subbasinID === "1") {
arrVal.test = "1";
arrVal.name = "john";
}
});
答案 4 :(得分:0)
假设你真的有一个“JSON数组”而不只是一个javascript数组,最简单的是
像这样:
var obj = JSON.parse(str);
obj[0]['test']='1';
...
str = JSON.stringify(obj);
如果你不确定“JSON”一词,我会建议你:http://en.wikipedia.org/wiki/JSON
答案 5 :(得分:0)
您可以使用拼接功能在JSON数组中添加和删除项目。第一个0是您要添加的位置(第一个位置使用0),如果要删除项目,则指定第二个位置。
dataArray.splice(0, 0,
{id: "7", name: "Douglas Adams", type: "comedy"});