MVC3 JSON Сериализация: Как управлять именами свойств?

Я хочу сериализовать простой объект в JSON:

public class JsonTreeNode
{
    [DataMember(Name = "title")]
    public string Title { get; set; }

    [DataMember(Name = "isFolder")]
    public bool IsFolder { get; set; }

    [DataMember(Name = "key")]
    public string Key { get; set; }

    [DataMember(Name = "children")]
    public IEnumerable<JsonTreeNode> Children { get; set; }

    [DataMember(Name = "select")]
    public bool SelectedOnInit { get; set; }
}

Но всякий раз, когда я это делаю:

return Json(tree, JsonRequestBehavior.AllowGet);

Имена свойств не такие, как указано в разделе [DataMember], а похожие на те, которые определены непосредственно в классе, например, в случае SelectOnInit это не select, а SelectOnInit.

Что я делаю не так?

15
задан xsl 31 August 2011 в 17:25
поделиться