Nesne Özelliklerine yerleştirilebilen, bir .NET Sınıfındaki XmlElement veya XmlAttribute eşdeğerini gerçekleştirecek eşdeğer bir Öznitelik var mı? Ben Kontrolör sınıfında ASP.NET MVC çerçeveler 'Json' yöntemiyle kullanılan JavaScriptSerializer, istiyorumXmlAttribute/XmlElement için JavaScript eşdeğeri
<objects>
<object name="David" title="Engineer" />
<object name="William" title="Developer" />
</objects>
: Bu aşağıdaki benzer XML dönecekti
[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; }
}
şöyle
public ActionResult Search() {
// code to populate data object
return Json(data);
}
Dönüş aynı biçimlendirilmiş sonuçları:
[{"name":"David","title":"Engineer"},{"name":"William","title":"Developer"}]
Halen Json yöntemi ile nesne çıkışı, döndürür:
[{"Name":"David"}, "Title":"Engineer"}, {"Name":"William", "Title":"Developer"}]
Şimdi, bu örnek süper basitleştirilmiş ve burada yaptığım tek şey özellik adları ancak harf durumu değiştirilebilir olduğunu fark daha gelişmiş senaryolar Özellik ismini tamamen başka bir şeye yeniden uyarlayabilirim ...
System.Web.Script.Serialization bir ScriptIgnoreAttribute özniteliği içerir, ancak bu yalnızca serileştirme sırasında özelliği göz ardı etmek için JavaScriptSerializer'a bildirir; ancak gerçek çıktının isimlerini veya formatını değiştirir misiniz?