我正在寻找一种方法来更改属性的名称,当它被编码为JSON时,其工作方式类似于DisplayAttribute
可用于更改其显示名称的方式。
例如,如果我将以下类编码为JSON字符串
public class LatLng
{
public double Latitude { get; set; }
public double Longitude { get; set; }
}
string result = Json.Encode(new LatLng{ Latitude = 10, Longitude = 20 });
结果将是:{"Latitude":10,"Longitude":20}
有没有办法创建JsonNameAttribute
来添加到类的每个属性,如下所示
public class LatLng
{
[JsonName("lat")]
public double Latitude { get; set; }
[JsonName("lng")]
public double Longitude { get; set; }
}
string result = Json.Encode(new LatLng{ Latitude = 10, Longitude = 20 });
那么结果就是:{"lat":10,"lng":20}
?
这可以在不创建我自己的JSON序列化程序的情况下完成吗?
答案 0 :(得分:0)
有几种可能性:
LatLng
域模型映射到此视图模型并序列化视图模型。[DataMember]
属性进行装饰来定义成员名称。