Pourquoi n'y a-t-il pas une méthode remove (int position) dans JSONArray d'Android?
J'ai commencé à construire une application Android qui utilise un fichier à plat pour le stockage. L'application ne permet pas de stocker plus de six enregistrements, et je suis familier avec JSON, donc je viens d'écrire un JSONArray
pour le fichier.
Je viens de découvrir aujourd'hui, cependant, que l'Android API JSON ne comprend pas un remove()
option. Hein? Dois-je vider le tableau dans une autre collection, l'enlever, puis de reconstruire l' JSONArray
? Quel est le point?
source d'informationauteur alalonde
Vous devez vous connecter pour publier un commentaire.
Le point est que
JSONArray
etJSONObject
sont destinés à (de)sérialiser les données en JSON, pas de manipuler des données. Unremove()
méthode peut sembler logique, mais où est la limite? Vous attendez-vous à être en mesure d'accéder à des attributs sur les objets sérialisés? D'accès ou de mise à jour des structures de données imbriquées?L'idée est, en effet, que de manipuler des structures de données "nativement".
C'est utile parfois dans android lorsque vous souhaitez utiliser la structure json directement, sans boucle autour de nous convertir. Veuillez n'utiliser que lorsque vous faites des choses comme la suppression d'une ligne sur le long clics ou quelque chose comme ça. Ne pas utiliser à l'intérieur d'une boucle!
Avis que je ne l'utilise que quand je suis la manipulation JSONObject à l'intérieur de la matrice.
J'utilise:
Vous pourriez vouloir vérifier maintenant. Semble que l'API de 19 à partir d'Android (4.4) permet effectivement de cette méthode.
J'ai eu cette erreur en essayant de l'utiliser. Espérons qu'il vous aide, maintenant qu'il est là!