Сравните два произвольных JToken-ов одинаковой структуры

Заранее спасибо. Я ценю любую помощь.

Я хотел бы сравнить два произвольных JTokens одного типа и структуры (Json.Net от NewtonSoft).

static int CompareTokens(JToken x, JToken y);  
// possible output: 0 / 1 / -1

Основная цель заключается в том, чтобы использовать этот метод для сортировки двух строк Json, так что даже если в начале у них были одинаковые данные, но в другом порядке, в конце концов это две абсолютно одинаковые строки. Таким образом, критерий сортировки на самом деле не имеет значения, просто важно, что этот критерий всегда один и тот же. И каждый маленький элемент данных должен быть принят во внимание.

JToken может быть одного из следующих нескольких типов:Array, Boolean, Date, Float, Guid, Integer, Null, Object, Property, String, TimeSpan, Uri, Я не принимаю во внимание сравнениеBytes, Comment, Constructor, None, Undefined, Raw.

Было бы здорово получить некоторое представление о компеJArrays а такжеJObjects, Это должно быть рекурсивное сравнение, потому чтоJArrays может состоять из другихJArrays а такжеJObjects и наоборот. Любая идея будет оценена.Но знание о сравнении более простых типов также было бы очень полезно. Мне интересно знать, как конвертировать изJToken к реальному типу (чем о знании, как это сделать логически).JValue имеетIComparable реализовано, но я не понял, как конвертировать простой типизированныйJToken вJValue, Знание об этом также было бы полезно.

Это довольно сложный вопрос. Если я пойму, как это сделать, я положу на него +100. И извините за мой английский.

Ответы на вопрос(2)

Ваш ответ на вопрос