Hola:
json no es otra cosa que una forma simplificada de crear/modificar objetos tradicionales (new Object())...
El problema podría estar en el método de envío, ya que por ejemplo get si que tiene limitaciones en el tamaño... y de ser un envío por ese método, podrías chequearlo cambiando la instrucción open del objeto ajax, por un window.open(url) y verificar que se trata de datos correctos en la ventana que se abre... otra cosa que suele dar problemas es la codificación de envío (los datos deben escaparse)...
Si por el contrario usas el método post, tendrás mal la codificación json del servidor.
Saludos