从 C# 中的对象或字符串中删除转义字符?
Remove Escape character from object or string in c#?
我正在通过 ajax 将字符串传递给 mvc 中的操作方法,
下面是我的ajax电话
$("#btnEncrypt").click(function () {
var pay = JSON.stringify({
'payload': {"exp":1442515543,"method":"Login"},
'secretKey': "123456"
});
$.ajax({
type: "POST",
url: '@Url.RouteUrl("GetData")',
data: pay,
contentType: 'application/json; charset=utf-8',
success: function (data) {
alert("Success");
},
error: function () {
alert('error');
}
});
});
下面是我的操作方法(生成),我在其中传递了两个参数
[HttpPost]
public ActionResult Generate(string payload, string secretKey)
{
Here I am getting payload as "{\"exp\":1442515543,\"method\":\"Login\"}"
instead of "{"exp":1442515543,"method":"Login"}"
}
那么,我怎样才能得到我正在通过 ajax 调用
的原始请求
"{"exp":1442515543,"method":"Login"}"
在没有转义字符的动作方法中?提前谢谢你:)
注意:
1)我曾尝试过不对请求参数进行字符串化,但是没有用。
2)这里的参数(exp和方法)根据不同的请求而变化,我有大约200个请求都使用不同的参数。
1) 构建一个 PayloadDto c# 对象
使用 exp 和方法属性,然后在您的方法定义中:
public ActionResult Generate(PayloadDto payload, string secretKey)
2) 构建一个 PayDto c# 对象
构建一个聚合 PayloadDto 和 secretKey 字符串的 PayDto。
public ActionResult Generate(PayDto pay)
这里只需要反序列化Action处的payload去掉escape character
var obj = new JavaScriptSerializer().Deserialize(payload,targetType:null);
问题已解决:)
我正在通过 ajax 将字符串传递给 mvc 中的操作方法, 下面是我的ajax电话
$("#btnEncrypt").click(function () {
var pay = JSON.stringify({
'payload': {"exp":1442515543,"method":"Login"},
'secretKey': "123456"
});
$.ajax({
type: "POST",
url: '@Url.RouteUrl("GetData")',
data: pay,
contentType: 'application/json; charset=utf-8',
success: function (data) {
alert("Success");
},
error: function () {
alert('error');
}
});
});
下面是我的操作方法(生成),我在其中传递了两个参数
[HttpPost]
public ActionResult Generate(string payload, string secretKey)
{
Here I am getting payload as "{\"exp\":1442515543,\"method\":\"Login\"}"
instead of "{"exp":1442515543,"method":"Login"}"
}
那么,我怎样才能得到我正在通过 ajax 调用
的原始请求 "{"exp":1442515543,"method":"Login"}"
在没有转义字符的动作方法中?提前谢谢你:)
注意: 1)我曾尝试过不对请求参数进行字符串化,但是没有用。 2)这里的参数(exp和方法)根据不同的请求而变化,我有大约200个请求都使用不同的参数。
1) 构建一个 PayloadDto c# 对象
使用 exp 和方法属性,然后在您的方法定义中:
public ActionResult Generate(PayloadDto payload, string secretKey)
2) 构建一个 PayDto c# 对象
构建一个聚合 PayloadDto 和 secretKey 字符串的 PayDto。
public ActionResult Generate(PayDto pay)
这里只需要反序列化Action处的payload去掉escape character
var obj = new JavaScriptSerializer().Deserialize(payload,targetType:null);
问题已解决:)