2013-06-14 2 views
0

У меня есть два веб-сервиса, генерирующих вывод JSON. Обе службы используют разные технологии, но должны получать точный результат.Самый быстрый способ проверки эквивалентности JSON

Я хочу проверить, является ли этот вывод точно таким же в среде браузера. Я бы предпочел просто сравнить их как строку, но вывод JSON не отсортирован.

Я могу преобразовать строку JSON в объекты, а затем перебрать их ключи, чтобы проверить эквивалентность, но это в основном алгоритм n^2.

Мне было интересно, есть ли более быстрый или лучший способ. Что-то, что уже предлагает среда браузера.

+5

Нет, браузер не обеспечивает глубокую проверку равенства. Однако вы можете написать свой собственный: http://stackoverflow.com/q/13142968/139010 –

+0

Стоит отметить, что, вероятно, это не будет алгоритм O (n^2), поскольку доступ к ключам в JavaScript постоянный. Итерации ключей в объекте A и убедитесь, что каждый существует (и соответствует) в объекте B, затем перебирает объект B, проверяя объект A. Нет необходимости в вложенном цикле. –

ответ

0

В настоящее время нет такого метода обеспечивается браузерами, чтобы сделать глубокое сравнение. Мы должны сделать это сами или использовать некоторую неродную библиотеку.