Я думаю, что это самый простой способ сделать это, используя JSON stringify, и это может быть лучшим решением в некоторых ситуациях:
JSON.stringify(a1) === JSON.stringify(a2);
Это преобразует объекты a1
и a2
в чтобы их можно было сравнить. Порядок очень важен в большинстве случаев, поскольку он может сортировать объект с помощью алгоритма сортировки, показанного в одном из приведенных выше ответов.
Пожалуйста, обратите внимание, что вы больше не сравниваете объект, а строковое представление объект. Это может быть не совсем то, что вы хотите.
Можно просто сохранить его как текст или значение атрибута; никакой выход или CDATA
разделы не необходим. Стандартная основа 64 символа +
и /
(кроме a-z
, A-Z
и 0-9
) не вмешивается в XML, анализирующий вообще.
Нет никаких символов вообще в наборе символов Base64, который будет конфликтовать со строками XML.
Base64 только использует алфавитно-цифровые символы и '+' (плюс), '/' (наклонная черта) и '=' (равняется). Никакая потребность закодировать что-либо для XML.