Как сохранить JSON в QR-коде, используя Angular - PullRequest
0 голосов
/ 17 февраля 2019

Я генерирую QR codes из моего веб-приложения Angular.Я использую пакет npm ngx-qrcode2 для генерации QR-кода.

Есть ли способ с этим пакетом npm или другим пакетом npm сохранить объект JSON в QR.Затем прочитайте QR и извлеките JSON, используя qr reader zxing / ngx-scanner .

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

Это то, что я сделал до сих пор.

ДЛЯ ПОЛУЧЕНИЯ QR-КОДА https://stackblitz.com/edit/angular-ja13vl

ДЛЯ ЧТЕНИЯ QR-КОДА https://stackblitz.com/edit/angular-qr-reader

1 Ответ

0 голосов
/ 17 февраля 2019

Вы, кажется, нашли решение, и я думаю, что оно совершенно правильно, я думаю.

В настоящее время я могу достичь этого, если преобразовать 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-кодов на этой странице .

...