Как мне сохранить этот объект JSON в виде файла cookie, а затем прочитать его в ванильном JavaScript? - PullRequest
2 голосов
/ 15 июля 2010

На самом деле я могу написать это в виде файла cookie, например:

 ["4c3dd477c441e17957000002","4c2ac3cc68fe54616e00002e","4c3dd477c441e17957000003","4c3dd477c441e17957000004"]

Но как мне прочитать печенье?

Я использую node.js / express.js (и сценарий кофе), и когда я читаю его, ключ cookie, то значение, которое я получаю, является просто первым значением из вышеуказанного массива.

Мне нужно как-то разобрать? Или вообще более сложная сериализация / десериализация?

Спасибо

Ответы [ 2 ]

4 голосов
/ 15 июля 2010

Файлы cookie разделяются запятыми, поэтому, когда вы сохраняете JSON, он разбивается на несколько файлов cookie. Вам нужно будет каким-то образом кодировать строку JSON перед записью в Cookie, а затем декодировать при чтении.

Например, вы можете взять строку JSON и заменить части "," следующим образом:

// encode
mycookie = json.replace(/","/g, '"-"');

// decode
json = mycookie.replace(/"-"/g, '","');

Очевидно, что это не общее решение, так как вам нужно убедиться, что заменяемые строки не появляются в контенте (даже не экранированы)

1 голос
/ 20 декабря 2011

Я думаю, что вы можете просто кодировать так:

// encode
mycookie = json.replace(/","/g, '"2%C"');

И никакие модификации не нужны в декодировании

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...