1
我试图序列化包含对象列表的类,但不是使用适当的值创建字符串,而是使用方法JsonConvert.SerializeObject()
返回JSON字符串,其中列表中的所有值均为空。序列化对象列表后,为什么所有值都为空?
应该创建对象的字符串线如下:
string json = JsonConvert.SerializeObject(msg);
其中msg是类
public class JSONPlayerListResponse
{
public List<Player> Players {get; set;}
public MessageType Action
{
get { return MessageType.GetPlayerListResponse; }
}
public string CommID { get; set; }
public string PlayerID { get; set; }
}
和播放器是
[DataContract]
public class Player
{
[DataMember]
public string UserName { get; set; }
[DataMember]
public string Password { get; set; }
[DataMember]
public string CurrencyCode { get; set; }
[DataMember]
public string CountryCode { get; set; }
[DataMember]
public string FName { get; set; }
[DataMember]
public string LName { get; set; }
public decimal Ballance { get; set; }
public System.Collections.Concurrent.ConcurrentQueue<Bet> BetsHistory { get; set; }
public string ID { get; set; }
public string Name { get; set; }
}
列表中的玩家msg实例包含一个元素,其值FName被设置为Player1,但返回字符串为后续G:
{\"Players\":[{\"UserName\":null,\"Password\":null,\"CurrencyCode\":null,\"CountryCode\":null,\"FName\":null,\"LName\":null}],\"Action\":18,\"CommID\":null,\"PlayerID\":\"27de1\"}
有谁知道为什么在返回字符串中的所有值都为空,如何修改逻辑,以生成包含实际值的字符串?