Skip to content

patridge/JsonNetIHtmlStringTesting

Repository files navigation

##Default .NET JavaScript serialization

// Controller action method
public JsonResult Default() {
    return Json(new {
        String = test,
        IHtmlString = MvcHtmlString.Create(test),
    }, JsonRequestBehavior.AllowGet);
}

// JSON output
{
    "String": "some <span>test</span>.",
    "IHtmlString": {}
}

##Default Json.NET serialization

// Controller action method
public StandardJsonNetJsonResult StandardJsonNet() {
    return new StandardJsonNetJsonResult(new {
        String = test,
        IHtmlString = MvcHtmlString.Create(test),
    }, JsonRequestBehavior.AllowGet);
}

// JSON output
{
    "String": "some <span>test</span>.",
    "IHtmlString": {}
}

##Custom Json.NET serialization (with IHtmlStringConverter)

// Custom JsonConverter method
public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer) {
    IHtmlString source = value as IHtmlString;
    if (source == null) {
        return;
    }

    writer.WriteValue(source.ToString());
}

// Controller action method
public CustomJsonNetJsonResult CustomJsonNet() {
    return new CustomJsonNetJsonResult(new {
        String = test,
        IHtmlString = MvcHtmlString.Create(test),
    }, JsonRequestBehavior.AllowGet);
}

// JSON output
{
    "String": "some <span>test</span>.",
    "IHtmlString": "some <span>test</span>."
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published