簡體   English   中英

在 Unity 中反序列化嵌套的 JSON

[英]Deserializing nested JSON in Unity

我已經嘗試並用盡了許多我能找到的解決方案,這些解決方案只是能夠反序列化我從節點服務器獲得的后續響應。

[{"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\":[]}] }]

即使正確地忽略 escaping ,您也缺少雙引號。 這就是它應該的樣子。

[{"treeData":"[{\"title\":\"GroupTitle\",\"nodeItemIds\":[5,1,3],\"children\":[]}]"}]

除此之外,您的代碼看起來應該可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM