Mike Barwick
Mike Barwick

Reputation: 5367

JSON "SyntaxError: Unexpected token '&'. Expected a property name."

Getting an error in browser console, SyntaxError: Unexpected token '&'. Expected a property name.. I'm simply trying/testing to log the json data.

$var = {{ json_encode($daily_clicks) }};
console.log($var);

$daily_clicks data being passed:

{
  "Feb 6, 2016": 0,
  "Feb 7, 2016": 0,
  "Feb 8, 2016": 7,
  "Feb 9, 2016": 5,
  "Feb 10, 2016": 0,
  "Feb 11, 2016": 0,
  "Feb 12, 2016": 0
}

Any idea why I'm getting that error?

In web console, data is being displayed as:

$var = {"Feb 6, 2016":0,"Feb 7, 2016":0,"Feb 8, 2016":7,"Feb 9, 2016":5,"Feb 10, 2016":0,"Feb 11, 2016":0,"Feb 12, 2016":0};

Upvotes: 1

Views: 2458

Answers (1)

Quentin
Quentin

Reputation: 943635

In a number of template languages, surrounding the identifier of a piece of data with {{ and }} converts it to HTML.

The HTML special characters are invalid in that context in JavaScript.

You need to force whatever template language you are using (you didn't specify in the question) to output raw data.

Some templates which use that syntax use {{{ and }}} for raw output.

Upvotes: 4

Related Questions