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.