我有一个asp.net控制器输出Json作为结果
它的一部分在这里
returnString += string.Format(@"{{""filename"":""{0}"",""line"":[", file.Filename);
我得到的是:
"{\"DPI\":\"66.8213457076566\",\"width\":\"563.341067\",\"editable\":\"True\",\"pricecat\":\"6\",\"numpages\":\"2\",\"height\":\"400\",\"page\":[{\"filename\":\"999_9_1.jpg\",\"line\":[]},{\"filename\":\"999_9_2.jpg\",\"line\":[]}]]"
我试图通过以下方法返回:
return Json(returnString);
return Json(returnString.Replace("\\","");
返回Json会将我的字符串序列化为一个jSon字符串,我知道但它喜欢逃避 由于某种原因,我怎么能摆脱它????
获取信息这是我用jQuery调用它的方式:
$.ajax({
url:"/Products/LoadArtworkToJSon",
type:"POST",
dataType: "json",
async: false,
data:{prodid: prodid },
success: function(data){
sessvars.myData = data;
measurements = sessvars.myData;
$("#loading").remove();
//empty the canvas and create a new one with correct data, always start on page 0;
$("#movements").remove();
$("#canvas").append("<div id=\"movements\" style=\"width:" + measurements.width + "px; height:"
+ Math.round(measurements.height)
+ "px; display:block; border:1px solid black; background:url(/Content/products/"
+ measurements.page[0].filename + ") no-repeat;\"></div>");
非常感谢您的帮助
感谢
答案 0 :(得分:4)
您是在VS或浏览器的调试器中查看它吗?调试器在显示时会包含额外的斜杠,而实际的输出将不包含这些值。
编辑:尝试将对象传递给Json而不是自定义字符串。您的字符串已经以Json格式(ish),因此将其传递给Json会重新编码。
return Json(new { filename = "yourfilename" } );
或
return "yourfilename";
...等,添加您需要的任何属性。