2017-04-08 3 views

Antwort

1

bei the source code Sehen, verwendet es den Map Iterator zur Ausgabe der Eigenschaften in den Map ‚s um, und es ist basierend auf HashMap, die ihre Einträge nicht wie gewünscht sortiert.

Aber noch einmal auf den Quellcode suchen, könnten Sie die JSONObject in eine TreeMap kopieren, die entsprechend der natürlichen Ordnung der Schlüssel seine Einträge unterhält (oder nach einem Comparator Sie bieten), und dann JSONObject.writeJSONString(Map,Writer) zur Ausgabe verwenden diese Karte. Da es den Iterator der Karte verwendet, würde dies in der Schlüsselreihenfolge sein.


Randbemerkung: JSON Notation hat keine Reihenfolge Eigenschaften zu widersprechen. Wenn Sie sie jedoch in einer bestimmten Reihenfolge ausgeben, um beispielsweise einen sinnvollen Vergleich zweier JSON-Texte zu ermöglichen, ist dies ein Grund dafür, dass der JSON-Text in einer bestimmten Reihenfolge ausgegeben wird.

Verwandte Themen