Передача PHP-сгенерированного JSON через семантическую разметку

В другом вопросе было указано, что использование семантической разметки может быть действительно чистым способом передачи данных в функцию onclick в соответствии с приведенным ниже кодом.

У меня есть второй вопрос, связанный с передачей JSON, и функция приема распознает его как таковой. У меня есть генерируемое PHP значение JSON [{"authed":"2012-03-04 17:24:24"},{"authed":"2012-03-04 11:44:38"}] что мне нужно перейти к функции. эхо, что прямо в тег <a> не будет работать, поэтому я использую urlencode() чтобы получить:

 <a href="javascript:void(0)" data-auth="%5B%7B%22authed%22%3A%222012-03-04+17%3A24%3A24%22%7D%2C%7B%22authed%22%3A%222012-03-04+11%3A44%3A38%22%7D%5D" onclick="popup(this)">click</a> 

К сожалению, когда я предупреждаю об этом из popup (), я через следующий код:

 function popup(t) { var auth = t.getAttribute('data-auth'); alert(decodeURI(auth)); } 

я получил

 [{"authed"%3A"2012-03-04+17%3A24%3A24"}%2C{"authed"%3A"2012-03-04+11%3A44%3A38%22"}] 

который JSON.parse () не может обрабатывать. Любые предложения по декодированию / передаче JSON с использованием этого шаблона?