我在ASP.NET应用程序中通过AJAX发布JSON对象。
{
"SaveData" : "{
"TransactionType":"2",
"Date":"8/10/2016",
"BankAccountID":"449",
"PaidTo":"Cash",
"Amount" :"1551",
"CheckNumber":"51451",
"SupportingDocNo":"51521",
"Remarks":"This is a remarks & this contains special character",
"CheckPaymentID":0
}",
"Type" : "Save"
}
在服务器端(我正在使用处理程序)我已将ContentType设置为application / json 并将SaveData对象反序列化为
context.Request.ContentType = "application/json";
var data = new JavaScriptSerializer()
.Deserialize<CheckPaymentsService>(context.Request["SaveData"]);
通过执行此操作,我的SaveData对象字符串在Remarks属性中意外终止,因为它包含&amp;登录。
我该如何处理这个特殊字符和其他特殊字符,例如&lt;,&gt;等等?
答案 0 :(得分:0)
您提供的json无效。
这是正确的版本(您可以在http://jsonlint.com/上查看):
{
"SaveData": {
"TransactionType": "2",
"Date": "8/10/2016",
"BankAccountID": "449",
"PaidTo": "Cash",
"Amount": "1551",
"CheckNumber": "51451",
"SupportingDocNo": "51521",
"Remarks": "This is a remarks & this contains special character",
"CheckPaymentID": 0
},
"Type": "Save"
}
此外,json中的非法字符
‘ single quote
” quote
\ backslash
答案 1 :(得分:0)
我认为你需要逃脱你的json。以下代码对我来说很好。
{{1}}