ich ein JSON-Objekt wie diese füllen müssen, lassen Sie sagen, es detailJSON gestattet:Gibt es eine Möglichkeit, ich die ganze JSONObject entleeren - java
{"amount": "5.00", "ac_no": "123456" }
ich es auf diese Weise tun:
detailJSON.put("amount","5.00");
detailJSON.put("ac_no","123456");
Danach wird das Detail in einigen gemeinsamen Einstellungen eingetragen, und ich mag jetzt klar diese JSONObject und verwendet das gleiche detailJSON Objekt ein anderes json zu speichern (mit verschiedenen Schlüsseln), auf diese Weise:
{"amount":"6.00", "loan_no":"123456"}
Ich weiß, es gibt eine Methode, remove(), die den bestimmten Schlüssel und den entsprechenden Wert entfernt.
Das funktioniert:
detailJSON.remove("amount");
detailJSON.remove("ac_no");
und dann verwenden -
detailJSON.put("amount","6.0");
detailJSON.put("loan_no","123456");
Nun ist dies ein sehr einfaches Beispiel. In dem Code, an dem ich gerade arbeite, habe ich viele Schlüssel, also erhöht die Verwendung von remove das LOC. Auch jedes Mal vor dem Entfernen muss ich überprüfen, ob JSONObject has
diesen bestimmten Schlüssel oder nicht.
Gibt es eine andere Möglichkeit, kann ich Clearing des JSONObject implementieren?
Ich versuchte
detailJSON=null ;
detailJSON=new JSONObject();
Aber es funktioniert nicht.
Ich bin im Grunde auf der Suche nach etwas wie clear() -Methode, falls vorhanden.
Sind Sie sicher, dass Sie das tun müssen? Warum nicht jedes Mal ein neues JSONObject verwenden? Ich denke, es wäre teurer, jedes einzelne Feld zu entfernen, als nur ein neues zu erstellen. –
@UweAllner Auch ich stimme Ihnen vollkommen zu, aber das ist die Geschäftsbeschränkung, eine solche Struktur aufrechtzuerhalten. – inquisitive
'detailJSON = neues JSONObject();' sollte funktionieren. Sie scheinen irgendwo in Ihrem Code einen Fehler zu haben. – Philipp