0

Разлика в JSON със сортирани ключове — Игнориране на реда на ключовете

Сравнете два JSON полезни товара по структура, а не по текст: вижте всеки добавен, премахнат и променен ключ по собствен път, изцяло във вашия браузър.

Обработка... 0%

Резултат

Тази страница отваря инструмента за проверка на разликите в JSON с вече включено „сортиране на ключове преди сравняване“, заредено с малък пример: запис на едно и също лице, написан два пъти с ключовете му в различен ред. Погледнете резултата и ще видите нулеви разлики, точно както трябва да бъде - пренареждането на ключове не променя значението на JSON обект.

JSON обект по дефиниция е неподредена колекция от двойки ключ/стойност. {"id":1,"name":"Ada"} и {"name":"Ada","id":1} описват същите данни. И все пак едно наивно сравнение - например поставяне на двата полета, красиво отпечатани, в обикновена текстова разлика, базирана на редове - ще маркира почти всеки ред като променен в момента, в който сериализаторът на едната страна реши да излъчва полета в различен ред, защото текстовата разлика винаги сравнява само знаци и редове, никога значение.

Този инструмент избягва този капан, като обхожда ключовете на всеки обект по име, а не по позиция, така че редът на ключовете всъщност никога нямаше да го заблуди – сортирането просто прави тази гаранция видима и ви дава чист, азбучно подреден списък, срещу който да четете разликите. Редактирайте текстовото поле и гледайте актуализацията на разликата на живо; когато сте готови, сравнете своите два JSON документа тук вместо примера.