¿Existe un atributo equivalente que se pueda colocar en las propiedades del objeto en una clase .NET que realice el equivalente de XmlElement o XmlAttribute?XmlAttribute/XmlElement equivalent for JavaScriptSerializer
[XmlRoot("objects")]
public class MyObjects: List<MyObject> { }
[XmlRoot("object")]
public class MyObject {
[XmlAttribute("name")]
public string Name { get; set; }
[XmlAttribute("title")]
public string Title { get; set; }
}
Esto volvería XML similar al siguiente:
<objects>
<object name="David" title="Engineer" />
<object name="William" title="Developer" />
</objects>
me gustaría tener la JavaScriptSerializer, utilizado por el método de ASP.NET MVC marcos 'JSON' en la clase controlador:
public ActionResult Search() {
// code to populate data object
return Json(data);
}
los mismos resultados con formato, así:
[{"name":"David","title":"Engineer"},{"name":"William","title":"Developer"}]
Actualmente, la salida del objeto con el método JSON, devuelve:
[{"Name":"David"}, "Title":"Engineer"}, {"Name":"William", "Title":"Developer"}]
Ahora, me doy cuenta de este ejemplo es muy simplificado y lo único que he hecho aquí es cambiar la carcasa de los nombres de propiedad sino en Escenarios más avanzados Puedo reasignar por completo el nombre de la propiedad a otra cosa ...
System.Web.Script.Serialization contiene un atributo ScriptIgnoreAttribute, pero esto simplemente le dice a JavaScriptSerializer que ignore la propiedad al serializar, no parece existir nada para cambiar los nombres o el formato de la salida real sin embargo?