我已经尝试并用尽了许多我可以找到的解决方案,因为它们只能反序列化从节点服务器获得的关注响应。
[{"treeData":"[{\"title\":\"GroupTitle\",\"nodeItemIds\":[5,1,3],\"children\":[]}] }]
我将我的课程设置如下:
[Serializable]
public class Groups
{
public string title { get; set; }
public string tagClass { get; set; }
public List<string> tagIds { get; set; }
public List<Groups> children { get; set; }
}
[Serializable]
public class ResponseData
{
public string treeData { get; set; }
}
并且我正在尝试使用
ResponseData responseData = JsonUtility.FromJson<ResponseData>(www.downloadHandler.text);
string jsonString = Regex.Unescape(responseData.treeData);
List<Groups> groups = JsonConvert.DeserializeObject<List<Groups>>(jsonString);
但是这给了我以下错误ArgumentException: JSON must represent an object type.
我不知道我要去哪里错了。非常感谢您提供有关如何将这些数据反序列化到班级中的任何帮助。
您的Json坏了。
[{"treeData":"[{\"title\":\"GroupTitle\",\"nodeItemIds\":[5,1,3],\"children\":[]}] }]
即使忽略正确的转义,您也会丢失双引号。这就是它的外观。
[{"treeData":"[{\"title\":\"GroupTitle\",\"nodeItemIds\":[5,1,3],\"children\":[]}]"}]
除此之外,您的代码看起来应该可以工作。