C# 反序列化System.Collections.Generic.Dictionary

C# 反序列化System.Collections.Generic.Dictionary,c#,C#,我的API以JSON作为字符串进行响应,当我的Unity应用程序接收到这个对象时,我不确定如何将它从System.Collections.Generic.Dictionary类型反序列化为对象,我想使它成为我类的对象:PlayerInfo,它是可序列化的 void OnPlayerLocalUpdate(Socket socket, Packet packet, params object[] args) { var myObject = JsonUtility.FromJson<Pl

我的API以JSON作为字符串进行响应,当我的Unity应用程序接收到这个对象时,我不确定如何将它从
System.Collections.Generic.Dictionary
类型反序列化为对象,我想使它成为我类的对象:
PlayerInfo
,它是可序列化的

void OnPlayerLocalUpdate(Socket socket, Packet packet, params object[] args)
{
  var myObject = JsonUtility.FromJson<PlayerInfo>(args[0].ToString());

}
如何反序列化该对象?

void OnPlayerLocalUpdate(套接字、数据包、参数对象[]args)
void OnPlayerLocalUpdate(Socket socket, Packet packet, params object[] args)
{
  var serialized = JsonUtility.ToJson(args[0]);
  var myObject = JsonUtility.FromJson<PlayerInfo>(serialized);
}
{ var serialized=JsonUtility.ToJson(args[0]); var myObject=JsonUtility.FromJson(序列化); }
首先需要序列化它,然后将其反序列化为预期的对象类型。如果args[0]是一个字典,它应该序列化为有效的json对象。另一种方法是手动初始化PlayerInfo。然后使用反射设置其属性

void OnPlayerLocalUpdate(Socket socket, Packet packet, params object[] args)
{
  var serialized = JsonUtility.ToJson(args[0]);
  var myObject = JsonUtility.FromJson<PlayerInfo>(serialized);
}