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

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

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

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

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

Благодарность

2
Michael Waxman 15 Июл 2010 в 08:11

2 ответа

Лучший ответ

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

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

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

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

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

4
David W. Keith 15 Ноя 2010 в 03:24

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

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

И никаких изменений в декодировании не требуется

1
jmpz 21 Май 2020 в 10:20