只是想问这个,因为在stackoverflow上总会出现珠宝:)
我所拥有的是以下列表:
list1 = [['command','arg1','arg2'], ['command2','arg1'], ... ]
您如何建议将其转换为字符串以便作为ONE GET参数传递?
e.g。
http://webgame_site.com/command_list/?data=...
我目前正在做的是使用逗号,
;
分隔列表,但我不喜欢这个想法,因为如果我决定在字符串中引入这些方法,方法会破坏。
我想尽可能地紧凑。
我有一个想法是将列表编码为base64:
[['command','arg1','arg2'], ['command2','arg1']]
=> "W1snY29tbWFuZCcsJ2FyZzEnLCdhcmcyJ10sWydjb21tYW5kMicsJ2FyZzEnXV0="
比URIencode
短有什么想法吗? :)
答案 0 :(得分:4)
将其转换为json,然后使用encodeURI对字符进行编码。
var list1 = [['command','arg1','arg2'], ['command2','arg1']];
var encoded = encodeURI(JSON.stringify(list1));
alert(encoded);
编辑base64:
var list1 = [['command','arg1','arg2'], ['command2','arg1']];
var encoded = btoa(JSON.stringify(list1));
alert(encoded);
alert(atob(encoded));
答案 1 :(得分:2)
jQuery.param()听起来不错。