Estou usando jquery, JSON e AJAX para um sistema de comentários. Estou curioso, existe um limite de tamanho para o que você pode enviar / armazenar com JSON? Como se um usuário digitasse uma grande quantidade e eu a enviasse através do JSON, existe algum tipo de limite máximo?
Também pode ser enviado qualquer tipo de texto através do JSON. por exemplo, em algum momento eu permito que os usuários usem html, tudo ficará bem?
connectionDidFinishLoading
e fazer a tradução JSON lá (ou depois que isso é chamado), não emdidReceiveData
(onde você deve simplesmente concatenar os dados recebidos com a data anterior) recebido). Outros ambientes são semelhantes.Respostas:
JSON é semelhante a outros formatos de dados como XML - se você precisar transmitir mais dados, basta enviar mais dados. Não há limitação de tamanho inerente à solicitação JSON. Qualquer limitação seria definida pelo servidor que analisava a solicitação. (Por exemplo, o ASP.NET possui a propriedade "MaxJsonLength" do serializador.)
fonte
JavaScriptSerializer.MaxJsonLength
mencionada na resposta de Amber. (NB que citei no MSDN )Não há limite fixo para o tamanho de um bloco de dados JSON ou para qualquer um dos campos.
Existem limites para quanto JSON a implementação JavaScript de vários navegadores pode suportar (por exemplo, cerca de 40 MB na minha experiência). Veja esta pergunta por exemplo .
fonte
Depende da implementação do seu gravador / analisador JSON. O DataContractJsonSerializer da Microsoft parece ter um limite rígido em torno de 8kb (8192 eu acho), e ocorrerá um erro em seqüências maiores.
Edit: Conseguimos resolver o limite de 8K para cadeias JSON definindo a propriedade MaxJsonLength na configuração da web, conforme descrito nesta resposta: https://stackoverflow.com/a/1151993/61569
fonte
Realmente não há limite para o tamanho dos dados JSON a serem enviados ou recebidos. Também podemos enviar dados Json em arquivo. De acordo com os recursos do navegador com o qual você está trabalhando, os dados do Json podem ser manipulados.
fonte
As implementações são livres para definir limites nos documentos JSON, incluindo o tamanho, portanto escolha seu analisador com sabedoria. Veja RFC 7159 , Seção 9. Analisadores:
"Uma implementação pode definir limites para o tamanho dos textos que aceita. Uma implementação pode definir limites para a profundidade máxima de aninhamento. Uma implementação pode definir limites para o alcance e a precisão dos números. Uma implementação pode definir limites para o comprimento e o caráter conteúdo das strings ".
fonte
Se você estiver trabalhando com o ASP.NET MVC, poderá resolver o problema adicionando MaxJsonLength ao seu resultado:
fonte
int.MaxValue
seja rejeitado como "muito grande" - tente outros tamanhos e veja o tamanho que você pode obter.Certamente todo mundo perdeu um truque aqui. O limite de tamanho de arquivo atual de um arquivo json é de 18.446.744.073.709.551.616 caracteres ou, se você preferir bytes, ou mesmo 2 ^ 64 bytes, se estiver procurando pelo menos infraestruturas de 64 bits.
Para todos os efeitos, podemos supor que seja ilimitado, pois você provavelmente terá dificuldade em resolver esse problema ...
fonte
O comprimento máximo de cadeias JSON. O padrão é 2097152 caracteres, o que equivale a 4 MB de dados da cadeia Unicode.
Consulte o URL abaixo
https://docs.microsoft.com/en-us/dotnet/api/system.web.script.serialization.javascriptserializer.maxjsonlength?view=netframework-4.7.2
fonte
JavaScriptSerializer
classe. EMaxJsonLength
já foi abordado em outras respostas.