.Net在Cookie中存取Json数据

Cookie是以键值对的形式来保存数据的,但有时我们想保存多个数据到一个cookie中去,这是我们就需要用到Json,如何在Cookie中存取Json数据就是我们今天要解决的问题

假设需要向Cookie中存入三个变量的值:

string data1 = "a";
string data2 = "b";
int data3 = 1;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

//Json写入Cookie
var jsonData = ModelToJson(new { data1 , data2 , data3  });
WriteCookie("JsonData", jsonData );

//从Cookie中读取Json
var cookieValue = ReadCookie("JsonData");
var data= (JObject)JsonConvert.DeserializeObject(cookieValue);
if(data != null)
{
    var data1= JsonValue("data1 ", "", data);
    var data2= JsonValue("data2 ", "", data);
    var data3= JsonValue("data3 ", "", data);
}
//上面调用的方法
public static string ModelToJson(object model)
{
    try
    {
        return JsonConvert.SerializeObject(model).ToString();
    }
    catch
    {
         return "";
    }
}

public static string JsonValue(string key, string returnValue, JObject item)
{
    if (item.Property(key) == null || item[key].ToString() == "")
        return returnValue;
    else
         return item[key].ToString();
}

public static bool WriteCookie(string strName, string strValue,int days=1)
{
    if (string.IsNullOrEmpty(strName))
            return false;
    HttpCookie cookie = new HttpCookie(strName);
    cookie.Value = strValue;
    cookie.Expires = DateTime.Now.AddDays(days);
    cookie.HttpOnly = true;
    HttpContext.Current.Response.Cookies.Add(cookie);
    return true;
}

public static string ReadCookie(string strName)
{
    if (HttpContext.Current.Request.Cookies != null
        && HttpContext.Current.Request.Cookies[strName] != null)
    {
        return HttpContext.Current.Request.Cookies[strName].Value;
    }
    else
        return "";
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,068评论 19 139
  • 1. cookie 1.1 什么是cookie cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过...
    cbw100阅读 9,532评论 0 13
  • 细说Cookie 阅读目录 开始 Cookie 概述 Cookie的写、读过程 使用Cookie保存复杂对象 Js...
    拉肚阅读 4,831评论 0 4
  • 作者:晚晴幽草轩www.jeffjade.com/2016/10/31/115-summary-of-cookie...
    饥人谷_Dylan阅读 4,940评论 0 51
  • 最近公司部分一改弹性工作制中,回家比以前早点,一天晚上准备找本书读,老婆推荐最近囤的苏东坡传。断断续续读了一两周,...
    擎码阅读 2,299评论 0 0

友情链接更多精彩内容