angular - 如何使用 Angular 将 JSON 存储在 QR 码中
问题描述
我正在QR codes
从我的 Angular Web 应用程序生成。我正在使用npm
包ngx-qrcode2来生成二维码。
这个包或另一个 npm 包有没有办法在 QRnpm
中存储对象。JSON
然后读取 QR,并使用 qr reader zxing/ngx-scanner提取 JSON 。
目前,如果我将 JSON 转换为字符串,将该字符串存储在 QR 中,然后在读取它时将其解析回JSON
.
这是我到目前为止所做的。
解决方案
您似乎已经找到了解决方案,我认为这似乎完全正确。
目前,如果我将 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 码的压缩方法。
推荐阅读
- php - 检查日期在 PHP 中是 12 小时格式还是 24 小时格式?
- javascript - js 不执行外部函数从数据库接收数据
- c++ - GCC:如何自定义编译产生的警告和错误
- google-sheets - 谷歌金融1分钟数据条怎么做?
- python - 如何在DataFrame中找到重复组合的频率计数
- python - 确定python中所有紧邻点的数量
- r - 在数据框1中找到数据框2中的值,在一定范围内
- c++ - Arduino C/C++ 将二进制字符串转换为十进制
- javascript - Azure 函数打字稿未正确等待方法调用
- javascript - 淡出()不工作。淡出后依然显示