値がJSONオブジェクトであるサイトCookieがあります。これをサーバーコードの特定のタイプにシリアル化し、Cookieとして返すときにJSONに戻します。すべて正常に動作しますが、JavaScriptでCookieに書き込む必要があります。
私が抱えている問題はJSON.stringifyであり、サーバー側でJavascriptSerializer.Deserializeを呼び出すときに「無効なJSONプリミティブ」を引き起こしているRAW値をURLエンコードしています。URLEncodingの処理方法がわかりません。
すべての既存のユーザーがurlencodedされていないCookieを持っているので、私はむしろクライアント側でこれを理解したいと思います。
URLエンコードしないJSJSONシリアライザーが必要です!
RAWデータは次のようになります。
%7B%0A%20%20%22ClientGuid%22%3A%20%222bb1c08a-0813-4739-8f09-9e9576e6f626%22%2C%0A%20%20%22UserId%22%3A%203601%2C%0A%20 %20%22OrganizationId%22%3A%20null%2C%0A%20%20%22OrganizationName%22%3A%20null%2C%0A%20%20%22CampaignId%22%3A%2087%2C%0A%20%20 %22EmailAddress%22%3A%20null%2C%0A%20%20%22LastCommodityId%22%3A%20157%2C%0A%20%20%22LastRegionId%22%3A%201%2C%0A%20%20%22LastCategoryId %22%3A%205%2C%0A%20%20%22LastSpmId%22%3A%200%2C%0A%20%20%22LastSpmCategoryId%22%3A%200%2C%0A%20%20%22ShowDetailsAllCommodities%22 %3A%20false%0A%7D
次のようになります。
{"ClientGuid": "2bb1c08a-0813-4739-8f09-9e9576e6f626"、 "UserId":3601、 "OrganizationId":null、 "OrganizationName":null、 "CampaignId":87、 "EmailAddress":null、 "LastCommodityId" :157、 "LastRegionId":1、 "LastCategoryId":5、 "LastSpmId":0、 "LastSpmCategoryId":0、 "ShowDetailsAllCommodities":false}