我想自定义JavaScriptSerializer((。通过添加映射进行序列化。明确:
认为我们有类:(因为它来自其他库,我不能修改这个类,所以我不能使用[JsonProperty("(](
class Address
{
public string Number { get; set; }
public string Street { get; set; }
public string City { get; set; }
public string Country { get; set; }
}
输出应该是:
{
"NMB" : "No 25",
"STR" : "Main Street",
"CTY" : "Matale",
"CNT" : "Sri Lanka"
}
如何在JavaScriptSerializer().Serialize(Address_Object);
期间实现映射?
IMHO,最简单的方法是创建一个util进行序列化,您可以使用net序列化程序或Newtonsoft.Json one
var addr = new Address {....}
string json = SerializeAddress(addr);
public string SerializeAddress(Address address)
{
var addr = new
{
NMB = address.Number,
STR = address.Street,
CTY = address.City,
CNT = address.Country
};
return Newtonsoft.Json.JsonConvert.SerializeObject(addr, Newtonsoft.Json.Formatting.Indented);
//Or
return System.Text.Json.JsonSerializer.Serialize(addr);
}