我有以下JSON:
{"test": {"property 1": 345, "property 2": 976, "property 3": "asd"}}
我需要将它压缩得很短,就像那样(在URL中)
/#params=abs54sgdasd1we!ewd
我在JSON上有一个已定义属性的列表,所以这就是为什么我要问什么是JS的最佳字典编码器。稍后我应该能够从该字符串解码回JSON。
答案 0 :(得分:0)
你可以只HTMLencode整个JSON string。请记住,您需要对象/“关联数组”/“词典”中的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的值有限,您可以将它们映射到固定长度的预定义值。