asp.net mvc выводит json с обратной косой чертой (escape), несмотря на многочисленные попытки фильтрации - PullRequest
2 голосов
/ 24 апреля 2010

у меня есть контроллер 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("\\","");

return 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>");

Ваша помощь очень ценится

спасибо

1 Ответ

4 голосов
/ 24 апреля 2010

Вы смотрите на это в отладчике в VS или в браузере? Отладчик будет включать дополнительные косые черты при отображении, тогда как фактический вывод не будет состоять из этих значений.

Редактировать: попробуйте передать объект в Json вместо пользовательской строки. Ваша строка уже в формате Json (ish), поэтому передача ее в Json перекодирует.

return Json(new { filename = "yourfilename" } );

или

return "yourfilename";

... и т. Д., Добавляя любые свойства, которые вам нужны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...