Mira, lo más probable es que haya una comilla doble que esté cerrando la comilla doble que comienza con javascript
:functionJSON, solución? yo también he intentado hacer algo así y no lo he conseguido por los mismos problemas que a ti te pasa. Y qué hice? Pues tuve que codificarlo y enviarlo como un texto cualquiera luego decodificarlo y hacer un eval. Eso es algo que a muchos no les gustaría porque no se recomienda usar eval, pero si a ti te parece podrías hacerlo, sería así:
functionJSON('<?php echo urlencode($json); ?>');
No me equivoqué, en este caso si va con comillas simples. Luego la función funcionJSON sería así:
Código:
funcionJSON(json) {
var obj = eval('(' + unescape(json) + ')');
}
Sé que no es muy elegante, pero funciona. Suerte!