类属性在序列化类时显示名称

时间:2015-02-26 06:23:31

标签: c# serialization

我有一个班级

public class MyClass
{
    public string v1 { set; get; }
    public string v2 { set; get; }
    public string v3 { set; get; }
    public string i1 { set; get; }
    public string i2 { set; get; }
    public string i3 { set; get; }
    public string error { set; get; }
    public string date { set; get; }
}

当我序列化类

 MyClass meter = new MyClass();
 var json = new JavaScriptSerializer().Serialize(meter);

我得到了

{
    "v1":"2342",
    "v2":"2336",
    "v3":"2332",
    "i1":"38.90",
    "i2":"42.21",
    "i3":"30.87",
    "error":"",
    "date":"26/02/2015 08:16:14"
}

如何更改每个成员的显示名称(如[ScriptIgnore])

我试过[显示(姓名=“我的名字”)]

1 个答案:

答案 0 :(得分:1)

有两种方式

1)使用Newtonsoft.Json,只需添加属性名称即可显示

 [JsonProperty(PropertyName = "owner")]
 public string Owner { get; set; }

2)如果你坚持javascriptserializer,那么这里是如何做的代码。  JavaScriptSerializer.Deserialize - how to change field names

我认为你应该使用Newtonsoft为什么要重新发明轮子?