我有我的购物车对象,我正在序列化将其扔进一个cookie。一切正常。但是当我在另一边反序列化时,我得到了这个错误:
Newtonsoft.Json.JsonReaderException:未终止的字符串。预期定界符:“。路径'ShoppingCart [0] .productName',第1行,第221位。
我已经确定错误会被放在&符号上。
我的序列化代码如下所示:
string myObjectJson =JsonConvert.SerializeObject( cart );
我的反序列化代码:
csm = JsonConvert.DeserializeObject<CartSummaryModel>( myCookie.Values[ "Cart" ] );
我尝试将HttpUtility.HtmlEncode
放在JsonConvert
前面,但这并不是我想做的。
在运行序列化之后,这是我的完整字符串:
{ “购物车”:[{ “productIDs”:[], “productNames”:[], “productPrices”:[], “productDescriptions”:[], “imref”: “24251”, “intDBQty”: 172,“isFrozen”:false,“ProdId”:“2063”,“productName”:“Family Inspriration Gift Bags包括Tissue&amp; Gift Tags,Set of 5”,“productPrice”:14.0,“ProductDesc”:“\”特别礼物,适合特别的人!\“这些鼓舞人心的礼品袋非常适合包装中小型礼品。包括白色纸巾,礼品标签和安全绳索手柄.8 \”L x 4 3/4 \“W x 10 1/2 \“H。 Set of 5“,”productQuantity“:1}],”TotalQty“:1,”SubTotalCost“:14.0,”TotalCost“:22.0,”TotalDiscount“:0.0,”ReferralCode“:”“,”ReferralEmail“:”“ “TotalShipping”:8.0 “FreeShipMin”:70.0, “TotalProcessing”:0.0 “ShipText”:“预估船 “ ”TotalTax“:0.0, ”TaxText“:” 预估。税”, “OERef”: “”, “CartNum”: “”, “消息”: “”, “LowQuantity”:假 “HasFrozen”:假}
答案 0 :(得分:3)
将对象转换为JSON字符串后使用
HttpUtility.UrlEncode(myObjectJson)
以及反序列化时使用HttpUtility.UrlDecode(myCookie.Values["Cart"])