Я использую jquery, JSON и AJAX для системы комментариев. Мне любопытно, есть ли ограничение на размер того, что вы можете отправить через / сохранить с JSON? Например, если пользователь вводит большое количество, а я отправляю его через JSON, есть ли какое-то максимальное ограничение?
Также можно отправлять любой текст через JSON. например, когда-нибудь я позволю пользователям использовать HTML, это будет хорошо?
connectionDidFinishLoading
и выполнить перевод JSON там (или после этого вызывается), а не вdidReceiveData
(где вы должны просто объединить полученные данные с датой ранее получили). Другие среды похожи.Ответы:
JSON похож на другие форматы данных, такие как XML - если вам нужно передавать больше данных, вы просто отправляете больше данных. Для запроса JSON нет ограничений по размеру. Любое ограничение будет установлено сервером, анализирующим запрос. (Например, ASP.NET имеет свойство «MaxJsonLength» сериализатора.)
источник
JavaScriptSerializer.MaxJsonLength
указанного в ответе Амбер. (NB яНе существует фиксированного ограничения на размер блока данных JSON или любого из полей.
Существуют ограничения на то, сколько JSON может обрабатывать реализация JavaScript в различных браузерах (например, около 40 МБ в моем опыте). Смотрите этот вопрос для примера .
источник
Это зависит от реализации вашего писателя / анализатора JSON. Microsoft DataContractJsonSerializer, кажется, имеет жесткое ограничение около 8 КБ (я думаю, что 8192), и он будет ошибаться для больших строк.
Изменить: Мы смогли разрешить ограничение 8K для строк JSON, установив свойство MaxJsonLength в веб-конфигурации, как описано в этом ответе: https://stackoverflow.com/a/1151993/61569
источник
На самом деле нет никаких ограничений на размер данных JSON для отправки или получения. Мы также можем отправить данные Json в файл. В зависимости от возможностей браузера, с которым вы работаете, данные Json могут обрабатываться.
источник
Реализации могут свободно устанавливать ограничения на документы JSON, включая размер, поэтому выбирайте свой синтаксический анализатор с умом. См. RFC 7159 , Раздел 9. Парсеры:
«Реализация может устанавливать ограничения на размер текстов, которые она принимает. Реализация может устанавливать ограничения на максимальную глубину вложенности. Реализация может устанавливать ограничения на диапазон и точность чисел. Реализация может устанавливать ограничения на длину и символ содержимое строк. "
источник
Если вы работаете с ASP.NET MVC, вы можете решить эту проблему, добавив MaxJsonLength к вашему результату:
источник
int.MaxValue
, отклонен как «слишком большой» - попробуйте другие размеры, и посмотрите, насколько большой вы можете получить.Конечно, все здесь упустили трюк. Текущий предел размера файла json составляет 18 446 744 073 709 551 616 символов, или, если вы предпочитаете байты, или даже 2 ^ 64 байта, если вы рассматриваете как минимум 64-битные инфраструктуры.
В любом случае, мы можем предположить, что он неограничен, поскольку вам, вероятно, будет трудно решить эту проблему ...
источник
Максимальная длина строк JSON. По умолчанию используется 2097152 символа, что эквивалентно 4 МБ строковых данных Юникода.
См ниже URL
https://docs.microsoft.com/en-us/dotnet/api/system.web.script.serialization.javascriptserializer.maxjsonlength?view=netframework-4.7.2
источник
JavaScriptSerializer
классу. ИMaxJsonLength
уже были рассмотрены в других ответах.