Файлы cookie разделяются запятыми, поэтому, когда вы сохраняете JSON, он разбивается на несколько файлов cookie. Вам нужно будет каким-то образом кодировать строку JSON перед записью в Cookie, а затем декодировать при чтении.
Например, вы можете взять строку JSON и заменить части "," следующим образом:
// encode
mycookie = json.replace(/","/g, '"-"');
// decode
json = mycookie.replace(/"-"/g, '","');
Очевидно, что это не общее решение, так как вам нужно убедиться, что заменяемые строки не появляются в контенте (даже не экранированы)