Я создаю объект JSON из массива, и я хочу динамически передавать данные этому объекту JSON на основе значений из массива. Смотрите мой код для лучшего понимания моей проблемы ...Динамически добавлять элементы массива в объект JSON
for(i=0;i<duplicates.length; i++) {
var request = {
"name": duplicates[i].scope,
"id": 3,
"rules":[
{
"name": duplicates[i].scope + " " + "OP SDR Sync",
"tags": [
{
"tagId": 1,
"variables":[
{
"variable": duplicates[i].variable[j],
"matchType": "Regex",
"value": duplicates[i].scopeDef
}
],
"condition": false,
},
{
"tagId": 1,
"condition": false,
}
],
"ruleSetId": 3,
}
]
}
}
Я принимаю свойство объекта из duplicates
массива, который может иметь следующие элементы:
[{scopeDef=.*, scope=Global, variable=[trackingcode, v1, v2]}, {scopeDef=^https?://([^/:\?]*\.)?delta.com/products, scope=Products Section, variable=[v3]}]
Как вы можете видеть, объект содержит элемент variable
, который может иметь несколько значений. Мне нужно нажимать на объект JSON все эти значения динамически (это означает, что в массиве может быть больше 3 значений).
Например, после того, как я нажимаю все значения из duplicates
массива, мой объект JSON должен выглядеть следующим образом:
name=Products Section,
rules=
[
{
name=Products Section OP SDR Sync,
tags=[
{
variables=
[
{
matchType=Regex,
variable=v3,
value=^https?://([^/:\?]*\.)?delta.com/products
},
{
matchType=Regex,
variable=trackingcode,
value=.*
},
{
matchType=Regex,
variable=v1,
value=.*
},
{
matchType=Regex,
variable=v2,
value=.*
}
],
condition=false,
},
{
condition=false,
tagId=1
}
],
ruleSetId=3
}
]
}
Я попытался следующий код, но без успеха:
for(var j in duplicates[i].variable) {
var append = JSON.parse(request);
append['variables'].push({
"variable":duplicates[i].variable[j],
"matchType": "Regex",
"value": duplicates[i].scopeDef
})
}
Пожалуйста дайте мне знать, если мне нужно предоставить дополнительную информацию, я только начал работать с объектами JSON.
Спасибо, что помогли мне. Можете ли вы также рассказать мне, что такое 'variables',' tags' и 'tagId'? Объекты? – Valip
В вашем исходном коде: variables - array of objects, tags - array of objects, tagId - variable (actualy - свойство объекта, который является первым элементом в массиве 'tags', который является первым элементом в правилах массива, который является свойством запроса объекта) – Teo
Отлично! Теперь все это имеет смысл для меня, спасибо! – Valip