如何使用 Angular 将 JSON 存储在二维码中
How store a JSON in a QR code using Angular
我正在从我的 Angular 网络应用生成 QR codes
。我正在使用 npm
包 ngx-qrcode2 来生成二维码。
这个 npm
包或另一个 npm 包有没有办法在 QR 中存储 JSON
对象。然后读取QR,并使用qr reader zxing/ngx-scanner提取JSON。
目前,如果我将 JSON 转换为字符串,将该字符串存储在 QR 中,然后当我读取它时,将其解析回 JSON
.
这是我目前所做的。
您似乎找到了解决方案,我认为这似乎完全正确。
Currently I'm able to achieve this if I convert the JSON to a string
正如你所说,如果你想在二维码中存储原始JSON,你必须先使用JSON.stringify(json)
对其进行字符串化。
读取 QR 码时,您别无选择,只能使用 JSON.parse(str)
.
解析字符串以获取原始 JSON
但是,您也可以 compress JSON 并存储表示此压缩 JSON 的字符串。这将允许您在二维码中存储更多信息。
您可以为此使用 jsonpack
这样的库,它最多可压缩原始大小的 55%。你可以这样使用它:
const qrcode = jsonpack.pack(json);
const json = jsonpack.unpack(qrcode);
您可以找到更多二维码压缩思路on this page。
我正在从我的 Angular 网络应用生成 QR codes
。我正在使用 npm
包 ngx-qrcode2 来生成二维码。
这个 npm
包或另一个 npm 包有没有办法在 QR 中存储 JSON
对象。然后读取QR,并使用qr reader zxing/ngx-scanner提取JSON。
目前,如果我将 JSON 转换为字符串,将该字符串存储在 QR 中,然后当我读取它时,将其解析回 JSON
.
这是我目前所做的。
您似乎找到了解决方案,我认为这似乎完全正确。
Currently I'm able to achieve this if I convert the JSON to a string
正如你所说,如果你想在二维码中存储原始JSON,你必须先使用JSON.stringify(json)
对其进行字符串化。
读取 QR 码时,您别无选择,只能使用 JSON.parse(str)
.
但是,您也可以 compress JSON 并存储表示此压缩 JSON 的字符串。这将允许您在二维码中存储更多信息。
您可以为此使用 jsonpack
这样的库,它最多可压缩原始大小的 55%。你可以这样使用它:
const qrcode = jsonpack.pack(json);
const json = jsonpack.unpack(qrcode);
您可以找到更多二维码压缩思路on this page。