JSON по своей природе не имеет ограничений на количество данных, которые он может передавать, или ограничений на глубину рекурсии. Это зависит от вашего сервера приложений.
Если вы используете JSONSerialization с C #, ограничение на объем данных устанавливается довольно низким. Вы можете перезаписать это, поместив следующий фрагмент кода в ваш файл Web.config.
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="2147483644"></jsonSerialization>
</webServices>
</scripting>
</system.web.extensions>
Вы, вероятно, не хотите посылать около 10 000 строк через AJAX, если можете избежать этого (разбейте его на более мелкие запросы или используйте пейджинг).