Hi Im trying to send a string to a view that looks like json.
Im sending a list of places:
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;
In the view its rendering output like this though:
[{"title":"sdf sdfsd sdf sd f","description":"sdf sdf sd fsd sd sdf sdf dssd sdf sd s","latitude":53.740259851464685,"longitude":-2.4602634343627927},
How do i get it to render as normal json in the view? minus "
etc?
In your comment below you say your view is using @ViewBag.Places
Are you using Razor? If so the @
syntax does the same thing as <%:
- it encodes the content.
Use the IHtmlString
interface to avoid it, so either:
ViewBag.Places = new HtmlString(sJSON);
Or
@HtmlString(ViewBag.Places)
@Html.Raw(ViewBag.Places)
also works
did you try ?
string sJSON = HttpServerUtility.HmltDecode(oSerializer.Serialize(placeList));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With