2016-12-05 3 views
2

Ich möchte JSON Array Größe in KB/Mb berechnen. Ich habe eine Bedingung, wo ich vor dem Hochladen json Array Größe berechnen muss. Es sollte nicht mehr als 128 KB sein.Berechne Json Array Größe in Kb oder Mb in Android?

+0

ist die Json-Array-Typ String? oder gson's JsonArray? oder ist es JSONArray aus org.json-Paket? Vielleicht können Sie den entsprechenden Code posten, damit wir selbst sehen können? – Bhargav

+0

Ja sein JSONArray, nicht Gson. – NishchalAndroid

Antwort

3

Wandeln Sie Ihre jsonArray in String um und verwenden Sie string.getBytes().length. Er gibt die Anzahl der Bytes an, die von der Zeichenfolge zum Speichern des Werts verwendet werden.

Mit diesen Bytes können Sie die Größe in jeder Einheit berechnen.

String.getBytes(). Länge ist die Anzahl der Bytes benötigt Zeichenfolge in der Plattform Standard-Kodierung darstellen. Beispiel: Wenn die Standardcodierung UTF-16 (selten) ist, entspricht sie genau dem von String.length() zurückgegebenen Wert . Üblicherweise wird Ihre Plattformcodierung eine Multi-Byte-Codierung wie UTF-8 sein.

+0

danke @nitesh. – NishchalAndroid

+0

Gerne helfen :) – Nitesh

1

JSON ist im Grunde ein String und Kodierungen bestimmen, wie viel Speicher eine String zu speichern ist nicht erforderlich. Bitte zuerst read this.

Jetzt mit diesem Wissen können Sie einfach wie folgt vorgehen:

JSON.toString().getBytes(YOUR_PREFERRED_ENCODING).length; 
1
you can use the File.length() method to get the file size in bytes. 
+0

Diese Lösung muss die Datei generieren, aber dies könnte im Falle eines Fehlers nützlich sein, um den JSON später zu senden, ohne es im Speicher zu halten. Sie sollten Ihre Antwort bearbeiten, um dies ein wenig zu verbessern;) – AxelH

Verwandte Themen