hkのweblog

ひよっこエンジニアがにわとりになるまでの軌跡

Cookieに複数の値を格納したい時に

1つのCookieに複数の値を入れたい、配列を入れたい、そんな時に使える便利な方法をメモしておきます。

こいつを使います↓
https://github.com/carhartl/jquery-cookie

基本的な使い方

例えば、連想配列Cookieに格納する場合を想定してみます。

//以下でCookieをjson化する
$.cookie.json = true;

//sampleHashという連想配列をsample_cookieというCookieにjson形式で保存する
let sampleHash = {fruit: 'apple', vegetable: 'tomato'};
$.cookie('sample_cookie', sampleHash);

//json形式で保存された'sample_cookie'をパースして連想配列に戻す
let parsedHash = $.cookie('sample_cookie');
console.log(parsedHash.fruit);
// apple

実にシンプルです。
1つのサイトで持てるCookieの数には上限があるので、使い所はあるのかなと思います。
その一方で1つのCookieの容量は4096byteが上限となっているので、いたずらにCookieを膨らませていくとオーバーしてしまうので注意が必要です。
短いですが今日はこんなところで。