我有以下 JSON:
{"test": {"property 1": 345, "property 2": 976, "property 3": "asd"}}
我需要将它压缩得非常短,就像那样(在 URL 中)
/#params=abs54sgdasd1we!ewd
我在该 JSON 上有一个已定义属性的列表,这就是为什么我要问什么是 JS 的最佳字典编码器。稍后我应该能够从该字符串解码回 JSON。
我有以下 JSON:
{"test": {"property 1": 345, "property 2": 976, "property 3": "asd"}}
我需要将它压缩得非常短,就像那样(在 URL 中)
/#params=abs54sgdasd1we!ewd
我在该 JSON 上有一个已定义属性的列表,这就是为什么我要问什么是 JS 的最佳字典编码器。稍后我应该能够从该字符串解码回 JSON。
您可以只对整个 JSON字符串进行HTML 编码。请记住,您需要在 Object/"Associative array"/"dictionary" 中成对使用,因为排序不是强制性的。否则,最终可能会因为没有密钥而导致意外结果。否则,将其转换为 Array/List 以便保持顺序并且您只依赖值的顺序。key
"key": "value"
345|976|"asd"
976|"asd"|345
如果“非常短”是主要要求并且它必须在 URL 中,则将 JSON 存储在数据库中并基于它生成一个 id 或哈希(如 crc、md5)作为可以添加到 URL 的查找键参数。
编辑:如果您不想切换到数组,则property1
, 2
,3
名称可以简化为a
, 。b
c
Edit2:如果将与之交互的应用程序是 cookie 感知的,您可以将数据存储在 cookie 中,并将哈希存储在 URL 中。
而且,如果属性 1-3 的值有限,您可以将它们映射到固定长度的预定义值。