Вы, кажется, нашли решение, и я думаю, что оно совершенно правильно, я думаю.
В настоящее время я могу достичь этого, если преобразовать JSON в строку
Как вы говорите, если вы хотите сохранить необработанный JSON в QR-коде, вы должны сначала его упорядочить, используя JSON.stringify(json)
.При чтении QR-кода у вас нет другого выбора, кроме как проанализировать строку, чтобы получить необработанный JSON, используя JSON.parse(str)
.
Но вы также можете сжать JSON и сохранитьСтрока, представляющая этот сжатый JSON.Это позволит вам хранить больше информации в QR-коде.
Для этого вы можете использовать такую библиотеку, как jsonpack
, которая сжимает до 55% от исходного размера.Вы можете использовать его следующим образом:
const qrcode = jsonpack.pack(json);
const json = jsonpack.unpack(qrcode);
Вы можете найти больше идей сжатия для QR-кодов на этой странице .