如何在序列化JSON字符串之前转义“与”符号

本文关键字:转义 符号 序列化 JSON 字符串 | 更新日期: 2023-09-27 18:15:17

我有一个正在序列化的cart对象,以便将其放入cookie中。这一切都很好。但当我在另一端对其进行反序列化时,我会得到以下错误:

Newtonsoft.Json.JsonReaderException:未终止的字符串。需要分隔符:".Path'ShoppingCart[0].productName',第1行,位置221。

我已经确定错误是在与字符上抛出的。

我的序列化代码如下:

 string myObjectJson =JsonConvert.SerializeObject( cart );

还有我的反序列化代码:

csm = JsonConvert.DeserializeObject<CartSummaryModel>( myCookie.Values[ "Cart" ] );

我试着把HttpUtility.HtmlEncode放在JsonConvert前面,但这并不能达到我想要的效果

这是我在上面运行序列化程序后的完整字符串:

{"ShoppingCart":[{"productID":[],"productNames":[】,"productPrice":[],"productDescriptions":[〕,"imref":"24251","intDBQty":172,"isFrozen":false,"ProdId":"2063","productName":"Family Inspriration Gift Bags including Tissue&Gift Tags,Set of 5","productPrice":14.0,"ProductDesc":"''"一份特别的礼物,送给一个特别的人''"这些鼓舞人心的礼品袋非常适合包装中小型礼物。包括白色纸巾、礼品标签和安全的绳索把手。8''"L x 4 3/4"W x 10 1/2"H。一组5","productQuantity":1}],"TotalQty":1,"SubTotalCost":14.0,"TotalsCost":22.0,"TotaldDiscount":0.0,"ReferralCode":","RefraralEmail":","TotalShip":8.0,"FreeShipMin冻结":false}

如何在序列化JSON字符串之前转义“与”符号

将对象转换为JSON字符串后,使用HttpUtility.UrlEncode(myObjectJson)和反序列化时使用HttpUtility.UrlDecode(myCookie.Values["Cart"])