问题:使用下面概述的JSON对象,我需要完成(填充)代码片段示例,以便它看起来像第二个代码块。我不知道如何通过JSON对象循环来构建被推入_etmc对象的内容。请让我知道,如果我留下任何可能有助于解决我的问题。通过一个对象创建一个新对象的循环
代码片断例如:
_etmc.push(["trackCart", { “cart”: [
{"item" : "INSERT_ITEM", "quantity": "INSERT_QUANTITY" , "price" : "INSERT_PRICE" ,
"unique_id" : "INSERT_UNIQUE_ID" }
]}]);
下面是上面的代码应该如何看到底:
_etmc.push(["trackCart", { “cart”: [
{"item" : "digitalData.cart.item[0].productInfo.productName", "quantity": "digitalData.cart.item[0].quantity" , "price" : "digitalData.cart.item[0].price" ,
"unique_id" : "digitalData.cart.item[0].productInfo.sku" } ,
{"item" : "digitalData.cart.item[1].productInfo.productName", "quantity": "digitalData.cart.item[1].quantity" , "price" : "digitalData.cart.item[1].price" ,
"unique_id" : "digitalData.cart.item[1].productInfo.sku" }
{"item" : "digitalData.cart.item[2].productInfo.productName", "quantity": "digitalData.cart.item[2].quantity" , "price" : "digitalData.cart.item[2].price" ,
"unique_id" : "digitalData.cart.item[2].productInfo.sku" }
{"item" : "digitalData.cart.item[3].productInfo.productName", "quantity": "digitalData.cart.item[3].quantity" , "price" : "digitalData.cart.item[3].price" ,
"unique_id" : "digitalData.cart.item[3].productInfo.sku" }
{"item" : "digitalData.cart.item[4].productInfo.productName", "quantity": "digitalData.cart.item[4].quantity" , "price" : "digitalData.cart.item[4].price" ,
"unique_id" : "digitalData.cart.item[4].productInfo.sku" }
]}]);
这是我的JavaScript对象:
var digitalData = [
"cart":{
"item":[
{
“productInfo":{"productID":"p1234”,”productName":"Bamboo Towel”,”sku":"320020454"},
"category":{"primaryCategory":""},
"quantity":"3",
"price":"10.0",
"discount":[]
},
{
"productInfo":{"productID":"p2345”,”productName”:”Arm Chair“,”sku":"810047424"},
"category":{"primaryCategory":""},
"quantity":"1",
"price":"10.0",
"discount":[]
},
{
"productInfo":{"productID":"p3456”,”productName”:”Bathroom Rug“,”sku":"330016238"},
"category":{"primaryCategory":""},
"quantity":"1",
"price":"6.0",
"discount":[]
},
{
"productInfo":{"productID":"p4567”,”productName”:”Bedroom Full Set”,”sku":"810038458"},
"category":{"primaryCategory":""},
"quantity":"1",
"price":"7.0",
"discount":[]
},
{
"productInfo":{"productID":"p5678”,”productName”:”Outdoor Table”,”sku":"330016874"},
"category":{"primaryCategory":""},
"quantity":"1",
"price":"39.99",
"discount":[]
}
]
}
]
这是我尝试之一,在与来自digitalData对象的信息填充_emtc:
_etmc.push(["trackCart", { “cart”: [
for (var i = 0; i < digitalData.cart.item.length; i++) {
var obj = digitalData.cart.item[i];
console.log(obj);
for (var key in obj) {
{"item" : "_satellite.getVar(obj + .productInfo.productName)", "quantity": "_satellite.getVar(obj + .quantity)" , "price" : "_satellite.getVar(obj + .price)" , "unique_id" : "_satellite.getVar(obj + .productInfo.sku)" },
}
]}]);
}
你想从'items'中得到什么?发布当前数据格式(你所做的)和最终形式看起来像什么样的例子会很有帮助 –
你不能在数组中使用'for'语句...... –
@RobM。我不知道还有什么我可以告诉你的最上面的片段是我想创建的第二个是我的json对象,第三个是我试图用json对象的数据填充第一个空格使用路径,所以( obj + .productInfo.productName)将是digitalData.cart.item [0] .productInfo.productName如果我错过了其他事情,请让我知道。 – Denoteone