这是我的JS对象:
var request = {
"name": "Name",
"id": 3,
"rules":[
{
"name": "Rule name",
"tags": [
{
"tagId": 1,
"variables":[
{
"variable": "var1",
"matchType": "Regex"
}
],
"condition": false,
}
],
"ruleSetId": 3,
}
]
}
如何向"value": "some value"
个对象添加新属性variables
?例如,在我添加此属性后,该对象应如下所示:
var request = {
"name": "Name",
"id": 3,
"rules":[
{
"name": "Rule name",
"tags": [
{
"tagId": 1,
"variables":[
{
"variable": "var1",
"matchType": "Regex",
"value": "some value" <----------
}
],
"condition": false,
}
],
"ruleSetId": 3,
}
]
}
我尝试了以下操作,但它为我添加了一个仅包含{"value": "some value"}
的其他对象:
request.rules[0].tags[0].variables.push({
"value": "some value"
});
答案 0 :(得分:2)
request.rules[0].tags[0].variables[0].value = "some value";
或者,如果要在所有变量中附加此新属性:
var target = 'value';
for (var i = 0; i < request.rules[0].tags[0].variables.length; i++) {
if (request.rules[0].tags[0].variables[i][target]) {
break;
}
}
request.rules[0].tags[0].variables[i][target] = "some value";
答案 1 :(得分:0)
喜欢这个吗?
request.rules[0].tags[0].variables[0].value = "some value";
答案 2 :(得分:0)
答案 3 :(得分:0)
您可以这样写:
request.rules [0] .tags [0] .variables [0] [&#34; value&#34;] =&#34;某些值&#34 ;;
答案 4 :(得分:0)
request.rules[0].tags[0].variables[0].value = "some value";
如果你想理解为什么它会像那样工作那么你必须得到{}
和[]
在json中的含义。第一个用于对象,后来用于数组。因此,您可以看到您的request
对象具有名为rules
的属性,该属性是一个对象数组。 tags
和variables
属性与rules
相同。最后你需要在variables
数组中为第一个obj分配新的键值,这就是使用变量[0]的原因。
答案 5 :(得分:0)
你应该这样做。
request.rules[0].tags[0].variables[0]['value'] = 'some value';
您想要添加属性的对象位于数组中,它是数组的第一个元素。你可以通过request.rules[0].tags[0].variables[0]
来实现这个目标。
答案 6 :(得分:0)
示例:
var jsonObj = {
members:
{
host: "hostName"
}
}
var i;
for(i=4; i<=8; i++){
var newUser = "user" + i;
var newValue = "value" + i;
jsonObj.members[newUser] = newValue ;
}
var str =JSON.stringify(jsonObj);
console.log(str);
console.log(jsonObj);
在您的情况下:request.rules [0] .tags [0] .variables [value] ='some value';
答案 7 :(得分:-1)
你几乎就在那里。
request.rules[0].tags[1].variables['value'] = 'some value';