//Парсим JsonToNetscape-куки с активного профиля (или с переменной грузите):
string NetscapeCookie = instance.GetCookie("", false);
//если шаблон безбраузерный, то только с переменной берите, а в переменную суйте кубиком "Экспорт>Переменная>NetScape".
//Добавляем наши строки с JsonToNetscape-куки в список:
var temp_list = new List<string>();
string[] lines = NetscapeCookie.Split(new[] { Environment.NewLine }, StringSplitOptions.None);
temp_list.AddRange(lines);
temp_list.RemoveAll(x => x == string.Empty);
// выводим в лог количество кук в списке (на 1 сайт идет по несколько кук):
project.SendInfoToLog("Кук шт.: " + temp_list.Count.ToString(), false);
// Создаем Json масив (пока пустой):
JArray Json_Cookie = new JArray();
// в цикле пробегаемся по списку с куки и каждую строку разбиваем на мелкие части и добавляем в наш массив:
for (int i=0; i < temp_list.Count; i++){
string[] NetscapeCookie_Site_i = Regex.Split(temp_list[i], "\t").ToArray();
JObject JCookie_Site_i = new JObject();
project.SendInfoToLog(i.ToString() + ", домен: " + NetscapeCookie_Site_i[0], false);
JCookie_Site_i["domain"] = NetscapeCookie_Site_i[0];
JCookie_Site_i["httpOnly"] = Convert.ToBoolean(NetscapeCookie_Site_i[1]);
JCookie_Site_i["path"] = NetscapeCookie_Site_i[2];
JCookie_Site_i["secure"] = Convert.ToBoolean(NetscapeCookie_Site_i[3]);
// парсим есть ли дата в куки и переводим ее в UNIX TIME:
if (NetscapeCookie_Site_i[4].Length>5) {
DateTime date = Convert.ToDateTime(NetscapeCookie_Site_i[4], new System.Globalization.CultureInfo("en-EN"));
int unix_Seconds = (int)(date.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
JCookie_Site_i["expirationDate"] = unix_Seconds;
}
else {
// если даты нет, то не добавляем ее. Либо можете какую-то левую дату вставлять, хз как лучше.
}
JCookie_Site_i["name"] = NetscapeCookie_Site_i[5];
JCookie_Site_i["value"] = NetscapeCookie_Site_i[6];
JCookie_Site_i["path"] = NetscapeCookie_Site_i[2];
//все это добро с мелких кук добавляем в один JSON-блок:
Json_Cookie.Add(JCookie_Site_i);
}
//вернет результат в формате JSON в 1 строку:
return JsonConvert.SerializeObject(Json_Cookie);
//если надо красиво в столбик то используйте: return Json_Cookie.ToString();