是不是 \"Num\":0.0005 会被默认为double
而 \"Num\":2 被默认为int64 ?

解决方案 »

  1.   

    JsonBonus要是数组怎么序列化呢? 
      

  2.   

    我跑下面的代码没什么问题 .net 2.0 和 .net 4.0
    static void Main(string[] args)
    {
        var bonus1 = JsonConvert.DeserializeObject<JsonBonus>("{\"Ratio\":100,\"BonusType\":1,\"Num\":0.0005}");
        Console.WriteLine("BonusType:" + bonus1.BonusType);    var bonus2 = JsonConvert.DeserializeObject<JsonBonus>("{\"Ratio\":10,\"BonusType\":2,\"Num\":2}");
        Console.WriteLine("Num:" + bonus2.Num);
        Console.Read();
    }
      

  3.   

    [DataContract]
    public class JsonBonus : ITaskerLogic
    {
    [DataMember(Order = 0)]
    public int Ratio{get;set;}
    [DataMember(Order = 1)]
    public int BonusType{get;set;}
    [DataMember(Order = 2)]
    public float Num{get;set;}
    public int MsgID { get { return 11; } }
    }