我将一个JSON对象发布到asp.net mvc控制器动作,如下所示。控制器操作自动将json变量绑定到各个对象。虽然这是一个很好的功能,但我的要求是将传入的json字符串'as-it-is'捕获到单个字符串对象中并将其存储在数据库中。我的问题是如何覆盖默认行为并以单个字符串获取传入的json对象?
查看
$.ajax({
type: "POST",
url: "@(storeLocation)IDR/OpcInsertCustomerProfile/",
data: JSON.stringify(currSelection),
contentType: "application/json",
success: function(data) {
alert('success : ' + JSON.stringify(data));
},
error: function(data) {
alert('Error : ' + JSON.stringify(data));
}
}
);
控制器
[HttpPost]
[ActionName("OpcInsertCustomerProfile")]
public JsonResult OpcInsertCustomerProfile(string jsonProfile)
{
try
{
JavaScriptSerializer ser = new JavaScriptSerializer();
return Json(jsonProfile, JsonRequestBehavior.AllowGet);
}
catch (Exception exc)
{
return Json(new { error = 1, message = exc.Message });
}
}
答案 0 :(得分:0)
使用HttpRequest
对象,有一个表单变量集合,您可以从该对象获取原始数据。
string rawdata = Request.Form["variable name"];
您必须找到变量名称。
您可以使用调试器来查看此内容。
答案 1 :(得分:0)
你可以尝试这样的事情 将您的内容转换回json
System.Web.Script.Serialization.JavaScriptSerializer oSerializer =
new System.Web.Script.Serialization.JavaScriptSerializer();
string sJSON = oSerializer.Serialize(oList);
[{"Name":"Pini","Age":"30","ID":"111"},
{"Name":"Yaniv","Age":"31","ID":"Cohen"},
{"Name":"Yoni","Age":"20","ID":"Biton"}]