C# 当jQuery将字符串传递给服务器时,如何去除反斜杠
我们正在尝试将用户输入作为Json返回到服务器以保存在couchbase中,但我们正在努力将有效的Json发送回服务器,它在“”之间添加了(\) JsonC# 当jQuery将字符串传递给服务器时,如何去除反斜杠,c#,asp.net-mvc,json,jquery,C#,Asp.net Mvc,Json,Jquery,我们正在尝试将用户输入作为Json返回到服务器以保存在couchbase中,但我们正在努力将有效的Json发送回服务器,它在“”之间添加了(\) Json var fileToJS = { "FormName": "Form1", "FormBody": //Nested, complex json continued } 以下是Jquery帖子: $('.sendIt').click(function () { alert('se
var fileToJS = {
"FormName": "Form1",
"FormBody": //Nested, complex json continued
}
以下是Jquery帖子:
$('.sendIt').click(function () {
alert('sendIt')
var back = JSON.stringify(fileToJS);
var url = "../Home/updateFormSave";
$.post(url, { jsonStuffs: back}, function (data) {
alert('qq');
});
});
控制员:
[HttpPost]
public ActionResult updateFormSave(string jsonStuffs)
{
//Save to couchbase
FormRepository formRep = new FormRepository();
//string formIdAppended = formID + "-" + User.Identity.Name;
JavaScriptSerializer invalidJson = new JavaScriptSerializer();
dynamic validJson = invalidJson.DeserializeObject(jsonStuffs);
bool JsonForm = formRep.SaveForm("12345", validJson );
ViewBag.msg = jsonStuffs;
return View("updateFormSavedSuccess");
}
这篇文章很有效,但是如果我们调试并查看JSONSTUFS,它看起来是这样的
{\"FormName\":\"Form1\"}
请帮助,序列化是否有问题?您在调试器中暂停时正在查看字符串,调试器将用反斜杠
\
转义引号“
”
实际的json字符串将是:
{“FormName”:“Form1”}
将值打印到控制台窗口,这很好。是否使用JSON.stringify 我有 这导致控制器中出现\sample.txt\ 我删除了JSON.stringify
data: { "filename" : filename },
这为我解决了这个问题。这表明您的代码还有其他问题。您应该定义
不工作
,并用相关信息更新您的问题。你不是说post可以正常工作吗?是的,post
可以正常工作,但是它没有返回有效的Json,请提供事实证明Json仍然存在?你是否打印了返回到控制台窗口或日志的Json,或者你仍然在调试器中暂停查看它?我承认,我在couchbase中的方法不正确,测试代码编辑web cosole打印正常的json,但它仍然向couchbase提供无效的json
data: { "filename" : filename },