如何使用 Angular 在二维码中存储 JSON

dev*_*ato 1 qr-code angular angular6

我是QR codes从我的 Angular Web 应用程序生成的。我正在使用npmngx-qrcode2来生成二维码。

有没有办法用这个npm包或另一个 npm 包JSON在 QR 中存储一个对象。然后读取 QR,并使用 qr reader zxing/ngx-scanner提取 JSON 。

目前,如果我将 JSON 转换为字符串,将该字符串存储在 QR 中,然后当我读取它时,将其解析回JSON.

这是我迄今为止所做的。

生成二维码 https://stackblitz.com/edit/angular-ja13vl

阅读二维码 https://stackblitz.com/edit/angular-qr-reader

jo_*_*_va 5

您似乎找到了解决方案,我认为这似乎完全正确。

目前,如果我将 JSON 转换为字符串,我就可以实现这一点

正如你所说,如果你想在二维码中存储原始 JSON,你必须首先使用JSON.stringify(json). 读取 QR 码时,您别无选择,只能使用JSON.parse(str).

但是,您也可以压缩JSON 并存储表示此压缩 JSON 的字符串。这将允许您在二维码中存储更多信息。

您可以使用这样的库jsonpack,它最多可压缩原始大小的 55%。你可以这样使用它:

const qrcode = jsonpack.pack(json);
const json = jsonpack.unpack(qrcode);
Run Code Online (Sandbox Code Playgroud)

您可以在此页面上找到更多关于 QR 码的压缩想法。