Unity C#将字符串转换为Json数组Erro

Unity C#将字符串转换为Json数组Erro,c#,json,unity3d,C#,Json,Unity3d,我有两门课: [System.Serializable] public class oneTask{ public string id; public string username; public string task; public string category; public string time; public bool status; } public class taskcollection{ public oneTas

我有两门课:

[System.Serializable]
public class oneTask{
    public string id;
    public string username;
    public string task;
    public string category;
    public string time;
    public bool status;

}
public class taskcollection{
    public oneTask[] tasksjson;
}
我的皈依是

taskcollection temptasks = JsonUtility.FromJson<taskcollection> (jsonString);
编辑:

来自服务器的Json不包含任何关于
taskcollection
类的内容。它只包含有关
oneTask
类的信息。您必须执行
JsonHelper.FromJson(jsonString)
不是
JsonHelper.FromJson(jsonString)

您必须修复Json,然后使用
JsonHelper
对其进行反序列化

string fixJson(string value)
{
    value = "{\"Items\":" + value + "}";
    return value;
}

//Fix Json
jsonString = fixJson(jsonString);
//Deserialize it
oneTask[] temptasks = JsonHelper.FromJson<oneTask>(jsonString);
string-fixJson(字符串值)
{
value=“{\”Items\”:“+value+”}”;
返回值;
}
//修复Json
jsonString=fixJson(jsonString);
//反序列化它
oneTask[]tettasks=JsonHelper.FromJson(jsonString);

有些问题需要解决。首先,您需要将
[System.Serializable]
添加到
oneTask
之上

从JSON字符串中可以看出,它是一个顶级数组。目前Unity
JsonUtility
不支持顶级JSON数组。我使用这个助手类能够使用JSON顶级数组

public class JsonHelper
{
    public static T[] getJsonArray<T>(string json)
    {
        string newJson = "{ \"array\": " + json + "}";
        Wrapper<T> wrapper = JsonUtility.FromJson<Wrapper<T>> (newJson);
        return wrapper.array;
    }

    [Serializable]
    private class Wrapper<T>
    {
        public T[] array;
    }
}
public类JsonHelper
{
公共静态T[]getJsonArray(字符串json)
{
字符串newJson=“{\“array\”:“+json+”}”;
Wrapper=JsonUtility.FromJson(newJson);
返回wrapper.array;
}
[可序列化]
私有类包装器
{
公共T[]数组;
}
}
以及如何在您的案例中使用它

oneTask[] objects = JsonHelper.getJsonArray<oneTask> (jsonString);
oneTask[]objects=JsonHelper.getJsonArray(jsonString);

您可以发布JSON字符串的外观吗?发布JSON。没有它我们就无能为力。您的jsonString变量在哪里,请在taskcollection的顶部包含代码[System.Serializable]class@JohanLindkvist我编辑问题并发布JSON。
oneTask[] objects = JsonHelper.getJsonArray<oneTask> (jsonString);