С#, чтобы json не отображал правильно
Привет, я пытаюсь отправить строку в представление, похожее на json.
Im отправляет список мест:
class Place
{
public string title { get; set; }
public string description { get; set; }
public double latitude { get; set; }
public double longitude { get; set; }
}
List<Place> placeList = new List<Place>();
//add places to PlaceList
//Then i do this
System.Web.Script.Serialization.JavaScriptSerializer oSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
string sJSON = oSerializer.Serialize(placeList);
ViewBag.Places = sJSON;
В представлении его вывод вывода выглядит так:
[{"title":"sdf sdfsd sdf sd f","description":"sdf sdf sd fsd sd sdf sdf dssd sdf sd s","latitude":53.740259851464685,"longitude":-2.4602634343627927},
Как заставить его отображать как обычный json в представлении? минус "
и т.д.?
Ответы
Ответ 1
В своем комментарии ниже вы говорите, что ваше представление использует @ViewBag.Places
Используете ли вы Razor? Если это так, синтаксис @
делает то же самое, что и <%:
- он кодирует содержимое.
Используйте интерфейс IHtmlString
, чтобы избежать его, либо:
ViewBag.Places = new HtmlString(sJSON);
Или
@HtmlString(ViewBag.Places)
Ответ 2
@Html.Raw(ViewBag.Places)
также работает
Ответ 3
Вы пытались?
string sJSON = HttpServerUtility.HmltDecode(oSerializer.Serialize(placeList));