2012-03-26 9 views
0

Ich habe eine Anforderung zum Erzeugen von JSON, die immer auf die gleiche Weise sortiert ist.Wie kann ich die JSON-Ausgabe mit JSON.NET sortieren?

Verwenden von JSON.NET Ich habe dies implementiert, indem Sie zuerst das Objekt in eine JSON-Zeichenfolge serialisieren und dann in einem sortierten Wörterbuch deseralisieren, indem ich StringComparer.Ordinal als Sortierreihenfolge (die Reihenfolge, die ich benötige) und dann serialisieren zu einem json Zeichenfolge. Dies funktioniert gut, aber nur für die Menge von Eigenschaften, die zu dem Top-Level-Objekt gehören.

Sobald es Unterobjekte, Unterwörterbücher, Unterlisten usw. gibt, wird dies nicht funktionieren.

Ich habe in der Dokumentation gesucht, aber ich kann nichts mit Sortierung zu tun finden, so meine Frage ist:

Gibt es eine Möglichkeit JSON.NET zu setzen eine bestimmte Reihenfolge, um zu verwenden, wenn die Serialisierung zu ein Faden?

+0

Versuchen Sie OrderedContractResolver: http://Stackoverflow.com/a/11309106/298573 – VahidN

Antwort

1

Ich fürchte, es gibt keine eingebaute Möglichkeit, es zu tun. Die answer zu einer ähnlichen Frage bestätigt dies.

Also die einzige Möglichkeit, es manuell zu tun (vielleicht über Rekursion) denke ich.

Verwandte Themen