【问题标题】:How store a JSON in a QR code using Angular如何使用 Angular 将 JSON 存储在 QR 码中
【发布时间】:2019-02-17 07:28:09
【问题描述】:

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

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

目前,如果我将 JSON 转换为字符串,将该字符串存储在 QR 中,然后当我读取它时,将其解析回 JSON,我就能够实现这一点。

这是我到目前为止所做的。

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

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

【问题讨论】:

  • “如果我将 JSON 转换为字符串,我就能做到这一点”。这不能解决你的问题吗?
  • @molamk 是的,你是对的,我的朋友。我只是觉得这有点hackie。这是我第一次使用 QR,我不知道我所做的是正确还是最好的方法

标签: angular angular6 qr-code


【解决方案1】:

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

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

如您所说,如果您想将原始 JSON 存储在 QR 码中,您必须首先使用 JSON.stringify(json) 对其进行字符串化。 读取 QR 码时,您别无选择,只能使用 JSON.parse(str) 解析字符串以获取原始 JSON。

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

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

const qrcode = jsonpack.pack(json);
const json = jsonpack.unpack(qrcode);

您可以找到更多关于二维码压缩的想法on this page

【讨论】:

  • 非常感谢您的回答。这是我第一次使用 QR,所以我不知道我所做的是否正确。非常有用的信息知道我什至可以压缩 JSON !!!棒极了。非常感谢
  • @Patricio Vargas,我很高兴它有帮助!如果您认为合适,请考虑将答案标记为已接受!
猜你喜欢
  • 1970-01-01
  • 2019-12-04
  • 2016-06-25
  • 1970-01-01
  • 2020-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多