2012-03-26 4 views
0

У меня есть требование генерировать JSON, который всегда сортируется одинаково.Как я могу сортировать вывод JSON с помощью JSON.NET?

Использование JSON.NET Я реализовал это, сначала сериализуя объект в строку json, затем дезериализуя в отсортированный словарь, используя StringComparer.Ordinal как порядок сортировки (требуемый порядок), а затем сериализуя его в json строка. Это работает хорошо, но только для набора свойств, принадлежащих объекту верхнего уровня.

Когда есть под-объекты, суб-словари, под-списки и т. Д., Это не сработает.

Я посмотрел в документации, но я не могу найти ничего общего с сортировкой, поэтому мой вопрос:

Есть ли способ установить Json.NET использовать определенный порядок сортировки при сериализации строка?

+0

Пробовать заказКонтрактResolver: http://stackoverflow.com/a/11309106/298573 – VahidN

ответ

1

Боюсь, что нет встроенного способа сделать это. answer к подобному вопросу подтверждает это.

Таким образом, единственный способ сделать это - сделать это вручную (возможно, через рекурсию). Я думаю.

Смежные вопросы