base64url (AZ、az、0-9、-、_ 文字を使用) を使用してエンコードされたすべての文字列 (値) を含む外部データソースから json を取得しています。これらの文字列をクライアント側でデコードして、正常に表示する方法はありますか? おそらく、jsonを解析するデータテーブルに関数をフックする必要がありますが、どうすればよいですか?
json の例を次に示します。
"aaData": [
[
"dGVzdDEy",
"Zm9v"
],
...
]
base64url (AZ、az、0-9、-、_ 文字を使用) を使用してエンコードされたすべての文字列 (値) を含む外部データソースから json を取得しています。これらの文字列をクライアント側でデコードして、正常に表示する方法はありますか? おそらく、jsonを解析するデータテーブルに関数をフックする必要がありますが、どうすればよいですか?
json の例を次に示します。
"aaData": [
[
"dGVzdDEy",
"Zm9v"
],
...
]
ほとんどの主要なブラウザーは、ほぼ標準化された base64 エンコードおよびデコード機能atob
(decode) およびbtoa
(encode)をサポートしています。
atob("dGVzdDEy");
// -> test12
ただし、私が言ったように、これらの関数は非標準であり、独自の関数 (または ol' sextuple-u—<a href="https://gist.github.com/sevir/3946819) の関数を実装する必要があります。 " rel="nofollow">これのように) IE 9 以前などの一部のブラウザーでデコードします。
JSON の質問に関しては、reviver関数を 2 番目の引数として JSON.parse に渡すことができます。これは各フィールドに対して実行されます。
JSON.parse('{"aaData":[["dGVzdDEy","Zm9v"]]}', function (k, v) {
if (typeof(v) == "string")
return atob(v);
else
return v;
});
/* -> {
"aaData": [
[
"test12",
"foo"
]
]
} */