wvpv
5/30/2017 - 3:14 PM

Parse ASC JSON payload

Parse ASC JSON payload

<html>
<head>
  <style>
    body, a, input {font-family:sans-serif;}
  </style>
</head>
<body style="font-family:sans-serif">
%%=now()=%%
<h1>JSON Parse with GTL</h1>
%%[

var @json
set @json = AttributeValue("json")

if not empty(@json) then
]%%

{{.dataobject JsonVar type=variable source=@json maxrows=20}}
     {{.data}}
          {"target":"@json"}
     {{/data}}
{{/dataobject}}
{{#each JsonVar}}

<br><a href="%%=RedirectTo(TreatAsContent('{{url}}'))=%%">{{sku}}</a> - <a href="%%=RedirectTo(TreatAsContent('{{url}}'))=%%">{{name}}</a>

{{/each}}
%%[
else
  outputline(concat("<br>no JSON found"))
endif
]%%

<h1>JSON Parse with SSJS</h1>
<script runat="server">
Platform.Load("Core","1.1.1");

var json = Attribute.GetValue('json');
var jsonObj = Platform.Function.ParseJSON(json);

if (jsonObj.length > 0) {

  for (var i = 0; i < jsonObj.length; i++ ) {

      var item = jsonObj[i];

      Platform.Variable.SetValue("@sku",item['sku']);
      Platform.Variable.SetValue("@name",item['name']);
      Platform.Variable.SetValue("@url",item['url']);

      </script>

      <br><a href="%%=redirectto(@url)=%%">%%=v(@sku)=%%</a> - <a href="%%=redirectto(@url)=%%">%%=v(@name)=%%</a>

      <script runat="server">

  }

} else {

  Write("no products found")

}
</script>

<br><br><br><a href="%%profile_center_url%%">Profile/Preference Center</a>
<br><a href="%%subscription_center_url%%">Subscription Center</a>
<br><a href="%%unsub_center_url%%">One-Click Unsubscribe</a>
<p>This email was sent by:
<b>%%Member_Busname%%</b>
<br>%%Member_Addr%%, %%Member_City%%, %%Member_State%%  %%Member_PostalCode%%  %%Member_Country%%</p>
<custom name="opencounter" type="tracking">
</body>
</html>