The body has

 <script> // Google Analytics document.addEventListener('DOMContentLoaded',function(){ GoogleAnalyticsPurchase(JSON.parse('{"products:[{"id":111,"name":"test", "price":100,"qty":1},id":222,"name":"test1", "price":200,"qty":1}, "code":"1234567","costDelivery":0}')); }); </script> 

How, using js, from here you can get (as text) id, name, price, qty all products (each time is different)?

    2 answers 2

    You pass a Js object to a function as a matter of fact, why can't it be parsed before, and put it into a variable so that you can access it later? Essentially, you must refer to a variable.

     <script> // Google Analytics document.addEventListener('DOMContentLoaded',function(){ var parseObject = JSON.parse('{"products:[{"id":111,"name":"test", "price":100,"qty":1},id":222,"name":"test1", "price":200,"qty":1}, "code":"1234567","costDelivery":0}'); GoogleAnalyticsPurchase(parseObject); alert(parseObject.id);//222 }); </script> 

      objParsed - our receive object, I made one, for example.

       document.addEventListener("DOMContentLoaded", loadProps); function loadProps() { var objParsed = {"id":111,"name":"test","price":"222","qty":1}; var objId = document.querySelector('.id'); var objname = document.querySelector('.name'); var objprice = document.querySelector('.price'); var objqty = document.querySelector('.qty'); objId.innerHTML = objParsed.id; objname.innerHTML = objParsed.name; objprice.innerHTML = objParsed.price; objqty.innerHTML = objParsed.qty; }; <div class="div">Product</div> <p class="id"></p> <p class="name"></p> <p class="price"></p> <p class="qty"></p> 

      something like this