2

我有以下 JSON:

{"test": {"property 1": 345, "property 2": 976, "property 3": "asd"}}

我需要将它压缩得非常短,就像那样(在 URL 中)

/#params=abs54sgdasd1we!ewd

我在该 JSON 上有一个已定义属性的列表,这就是为什么我要问什么是 JS 的最佳字典编码器。稍后我应该能够从该字符串解码回 JSON。

4

1 回答 1

0

您可以只对整个 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, 。bc

Edit2:如果将与之交互的应用程序是 cookie 感知的,您可以将数据存储在 cookie 中,并将哈希存储在 URL 中。

而且,如果属性 1-3 的值有限,您可以将它们映射到固定长度的预定义值。

于 2012-09-11T12:07:08.723 回答