1

値が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}

4

1 に答える 1

0

サーバーに送信する前に、生データでdecodeURIComponentを使用します。

 decodeURIComponent("%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")
于 2013-03-12T18:47:58.747 に答える