在用JsonConvert.DeserializeObject进行反序列化之后进行强制转换会出现错误,Var可以很好的避免这个问题。
如果你是序列化private属性的字段也会出现错误。
try
{
int count = socket.Receive(readBuff);
string str = System.Text.Encoding.UTF8.GetString(readBuff, 0, count);
foreach (string s in str.Split('&'))
{
if (s.Length > 0)
{
Debug.Log(s);
//用 Message m =(Message) JsonConvert.DeserializeObject(s) ; //进行强转会解析错误
var m = JsonConvert.DeserializeObject<Message>(s) ;
var viedio = JsonConvert.DeserializeObject<ViedioProgressMessage>(m.info) ;
Debug.Log(viedio.vProgress);
}
}
}
catch (SocketException)
{
break;
}
catch (System.Exception e)
{
Debug.Log(e.Message);
}