gpt4 book ai didi

javascript - 在本地存储中存储压缩的 json 数据

转载 作者:技术小花猫 更新时间:2023-10-29 12:08:14 25 4
gpt4 key购买 nike

我想将 JSON 数据存储在本地存储中。有时存储的数据可能超过 5MB(每个域的浏览器允许的最大阈值)。无论如何我可以压缩或压缩数据并将其存储在本地存储中吗?如果对大数据每个 JS 函数进行压缩和解压,会增加多少延迟?

我正在使用此 json 数据在网页上显示..... 它就像一个静态数据,在整个 session 中几乎都是相同的。我们在这个 json 数据上提供搜索、过滤等操作...每当用户输入关键字时,我都会搜索存储在本地存储中的这个 json 数据,而不是调用服务器

最佳答案

由于 localStorage 功能似乎仅限于处理字符串键/值对,您可以做的是使用 lz-string library将 json 对象字符串化并压缩,然后将其存储在 localStorage 中

用法

// sample json object
var jsonobj = {'sample': 'This is supposed to be ling string', 'score': 'another long string which is going to be compressed'}

// compress string before storing in localStorage
localStorage.setItem('mystring', LZString.compress(JSON.stringify(jsonobj)));

// decompress localStorage item stored
var string = LZString.decompress(localStorage.getItem('mystring'))

// parse it to JSON object
JSON.parse(string);

检查 jsfiddle http://jsfiddle.net/raunakkathuria/7PQtC/1/因为我已经复制了完整的脚本,所以在 fiddle 的末尾寻找运行代码

如果您正在处理 UTF 字符,请使用 compressToUTF16decompressFromUTF16 但请注意,生成的字符串因此比 compress 。因此,仅在需要时使用 utf

关于javascript - 在本地存储中存储压缩的 json 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20773945/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com