您好我正在尝试将字符串发送到看起来像json的视图。
我发送了一个地方列表:
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?减去"
等?
答案 0 :(得分:20)
在下面的评论中,您说您的观点正在使用@ViewBag.Places
你在使用Razor吗?如果是这样,@
语法与<%:
的作用相同 - 它会对内容进行编码。
使用IHtmlString
界面来避免它,所以:
ViewBag.Places = new HtmlString(sJSON);
或
@HtmlString(ViewBag.Places)
答案 1 :(得分:5)
@Html.Raw(ViewBag.Places)
也有效
答案 2 :(得分:1)
string sJSON = HttpServerUtility.HmltDecode(oSerializer.Serialize(placeList));