J'utilise jquery, JSON et AJAX pour un système de commentaires. Je suis curieux, y a-t-il une limite de taille sur ce que vous pouvez envoyer / stocker avec JSON? Comme si un utilisateur tape une grande quantité et que je l'envoie via JSON, y a-t-il une sorte de limite maximale?
Tout type de texte peut également être envoyé via JSON. par exemple, parfois, j'autorise les utilisateurs à utiliser html, est-ce que ça va?
connectionDidFinishLoading
et faire la traduction JSON là (ou après cela est appelé), pas dansdidReceiveData
(où vous devez simplement concaténer les données reçues avec la date précédente reçu). D'autres environnements sont similaires.Réponses:
JSON est similaire à d'autres formats de données comme XML - si vous avez besoin de transmettre plus de données, il vous suffit d'envoyer plus de données. Il n'y a pas de limitation de taille inhérente à la requête JSON. Toute limitation serait définie par le serveur analysant la demande. (Par exemple, ASP.NET a la propriété "MaxJsonLength" du sérialiseur.)
la source
JavaScriptSerializer.MaxJsonLength
mentionnée dans la réponse d'Amber. (NB j'ai cité MSDN )Il n'y a pas de limite fixe sur la taille d'un bloc de données JSON ou de l'un des champs.
Il y a des limites à la quantité de JSON que l'implémentation JavaScript de divers navigateurs peut gérer (par exemple environ 40 Mo selon mon expérience). Voir cette question par exemple .
la source
Cela dépend de l'implémentation de votre écrivain / analyseur JSON. DataContractJsonSerializer de Microsoft semble avoir une limite stricte autour de 8 ko (8192 je pense), et il se produira une erreur pour les chaînes plus grandes.
Edit: Nous avons pu résoudre la limite de 8K pour les chaînes JSON en définissant la propriété MaxJsonLength dans la configuration Web comme décrit dans cette réponse: https://stackoverflow.com/a/1151993/61569
la source
Il n'y a vraiment aucune limite sur la taille des données JSON à envoyer ou à recevoir. Nous pouvons également envoyer des données Json dans un fichier. Selon les capacités du navigateur avec lequel vous travaillez, les données Json peuvent être gérées.
la source
Les implémentations sont libres de définir des limites sur les documents JSON, y compris la taille, alors choisissez votre analyseur judicieusement. Voir RFC 7159 , Section 9. Analyseurs:
"Une mise en œuvre peut fixer des limites sur la taille des textes qu'elle accepte. Une mise en œuvre peut fixer des limites sur la profondeur maximale d'imbrication. Une mise en œuvre peut fixer des limites sur la plage et la précision des nombres. Une mise en œuvre peut fixer des limites sur la longueur et le caractère contenu des chaînes. "
la source
Si vous travaillez avec ASP.NET MVC, vous pouvez résoudre le problème en ajoutant MaxJsonLength à votre résultat:
la source
int.MaxValue
- être est rejeté comme "trop grand" - essayez d'autres tailles et voyez quelle taille vous pouvez obtenir.Tout le monde a sûrement raté un truc ici. La limite de taille de fichier actuelle d'un fichier json est de 18 446 744 073 709 551 616 caractères ou si vous préférez octets, voire 2 ^ 64 octets si vous regardez au moins des infrastructures 64 bits.
À toutes fins utiles, nous pouvons supposer que c'est illimité, car vous aurez probablement du mal à résoudre ce problème ...
la source
La longueur maximale des chaînes JSON. La valeur par défaut est 2097152 caractères, ce qui équivaut à 4 Mo de données de chaîne Unicode.
Reportez-vous ci-dessous URL
https://docs.microsoft.com/en-us/dotnet/api/system.web.script.serialization.javascriptserializer.maxjsonlength?view=netframework-4.7.2
la source
JavaScriptSerializer
classe. EtMaxJsonLength
a déjà été abordé dans d'autres réponses.