datatables jquery,base64字符串

时间:2013-03-14 23:19:54

标签: jquery base64 datatables decoding

我从外部数据源获取一个json,其中所有字符串(值)都使用base64url编码(使用A-Z,a-z,0-9, - ,_字符)。有没有办法在客户端解码这些字符串,以便它们显示正常?可能我需要在解析json的数据表中挂钩函数,但是如何?

这是json的例子:

"aaData": [
[
  "dGVzdDEy",
  "Zm9v"
],
...
]

1 个答案:

答案 0 :(得分:0)

大多数主流浏览器都支持几乎标准化的base64编码和解码功能,atob(解码)和btoa(编码):

atob("dGVzdDEy");
// -> test12

然而,正如我所说的,这些函数是非标准的,你必须实现自己的函数(或者在'''上提供解码)在某些浏览器中进行解码,例如IE 9岁及以下。

对于JSON问题,您可以将 reviver 函数作为JSON.parse的第二个参数传递,该函数将针对每个字段执行:

JSON.parse('{"aaData":[["dGVzdDEy","Zm9v"]]}', function (k, v) { 
    if (typeof(v) == "string") 
        return atob(v); 
    else 
        return v;
});
/* -> {
    "aaData": [
        [
            "test12",
            "foo"
        ]
    ]
} */