Estoy usando jquery, JSON y AJAX para un sistema de comentarios. Tengo curiosidad, ¿hay un límite de tamaño en lo que puede enviar a través de / almacenar con JSON? Como si un usuario escribe una gran cantidad y lo envío a través de JSON, ¿hay algún tipo de límite máximo?
También se puede enviar cualquier tipo de texto a través de JSON. por ejemplo, en algún momento permito que los usuarios usen html, ¿estará bien?
connectionDidFinishLoading
y hacer la traducción JSON allí (o después de que se llame), no endidReceiveData
(donde simplemente debe concatenar los datos recibidos con la fecha anterior recibido). Otros ambientes son similares.Respuestas:
JSON es similar a otros formatos de datos como XML: si necesita transmitir más datos, simplemente envíe más datos. No hay limitación de tamaño inherente a la solicitud JSON. Cualquier limitación sería establecida por el servidor analizando la solicitud. (Por ejemplo, ASP.NET tiene la propiedad "MaxJsonLength" del serializador).
fuente
JavaScriptSerializer.MaxJsonLength
mencionada en la respuesta de Amber. (Nota: he citado de MSDN )No hay un límite fijo en cuanto al tamaño de un bloque de datos JSON o cualquiera de los campos.
Hay límites para la cantidad de JSON que puede manejar la implementación de JavaScript de varios navegadores (por ejemplo, alrededor de 40 MB). Ver esta pregunta por ejemplo .
fuente
Depende de la implementación de su escritor / analizador JSON. DataContractJsonSerializer de Microsoft parece tener un límite estricto de alrededor de 8 kb (8192, creo), y se producirá un error para cadenas más grandes.
Editar: pudimos resolver el límite de 8K para cadenas JSON configurando la propiedad MaxJsonLength en la configuración web como se describe en esta respuesta: https://stackoverflow.com/a/1151993/61569
fuente
Realmente no hay límite en el tamaño de los datos JSON que se enviarán o recibirán. También podemos enviar datos Json en el archivo. De acuerdo con las capacidades del navegador con el que está trabajando, se pueden manejar los datos de Json.
fuente
Las implementaciones son gratuitas para establecer límites en los documentos JSON, incluido el tamaño, por lo que debe elegir su analizador de forma inteligente. Ver RFC 7159 , Sección 9. Analizadores:
"Una implementación puede establecer límites en el tamaño de los textos que acepta. Una implementación puede establecer límites en la profundidad máxima de anidamiento. Una implementación puede establecer límites en el rango y la precisión de los números. Una implementación puede establecer límites en la longitud y el carácter contenido de cadenas ".
fuente
Si está trabajando con ASP.NET MVC, puede resolver el problema agregando MaxJsonLength a su resultado:
fuente
int.MaxValue
sea rechazado como "demasiado grande": pruebe con otros tamaños y vea qué tan grande puede llegar a ser.Seguramente todos se han perdido un truco aquí. El límite de tamaño de archivo actual de un archivo json es de 18,446,744,073,709,551,616 caracteres o si prefiere bytes, o incluso 2 ^ 64 bytes si está buscando infraestructuras de 64 bits al menos.
Para todos los efectos, podemos suponer que es ilimitado ya que probablemente tendrá dificultades para resolver este problema ...
fuente
La longitud máxima de las cadenas JSON. El valor predeterminado es 2097152 caracteres, lo que equivale a 4 MB de datos de cadena Unicode.
Consulte la siguiente URL
https://docs.microsoft.com/en-us/dotnet/api/system.web.script.serialization.javascriptserializer.maxjsonlength?view=netframework-4.7.2
fuente
JavaScriptSerializer
clase. YMaxJsonLength
ya se ha abordado en otras respuestas.