-1

JSON下面是WWWGET结果

{
    "status":200,
    "watchlist":[
        {
            "Category":"Movie",
            "ShowList":[
                {
                    "id":"59534a851339762f38e16ad7",
                    "Name":"Play zombie tonight",
                    "Description":"descblablabla",
                    "IMDB":1,
                    "Tag":[
                        "horror",
                        "comedy"
                    ],
                    "Picture":{
                        "id":"59534a8b1339762f38e16b6d",
                        "Url":"imgurlbla",
                        "DisplayOrder":0
                    }
                }
            ]
        },
        {
            "Category":"Variety",
            "ShowList":[
                {
                    "id":"59532bf51339742f380d4cb1",
                    "Name":"Yearning for life",
                    "Description":"descblablabla",
                    "IMDB":1,
                    "Tag":[
                        "reality show"
                    ],
                    "Picture":{
                        "id":"59532bfb1339742f380d4d3a",
                        "Url":"imgurlbla",
                        "DisplayOrder":0
                    }
                }
            ]
        }
    ]
}

我想将结果分配给List<>,所以我可以轻松访问WatchList. 下面是我试过的代码。

List<WatchList> viewitemlist = JsonUtility.ToJson (www.text);

我还尝试了一个名为 LitJSON 的库:

string json = www.text;
JsonData jsonObject = JsonMapper.ToObject(json);
List<On360WatchList> viewitemlist = 
JsonMapper.ToObject<List<On360WatchList>> (jsonObject ["watchlist"].ToJson());
4

2 回答 2

0

这意味着您要将 GET 的 Result 对象反序列化为自己的类型所以,您需要使用 Newtonsoft Library 来帮助您反序列化该对象。要在包管理器控制台中获取库,请编写以下命令

安装包 Newtonsoft.Json

或者轻松地从 NuGet 包管理器下载它。然后使用以下代码反序列化您已经拥有的对象

string TargetObject = YourObject; 
List<WatchList> Wl = JsonConvert.DeserializeObject<List<WatchList>>(TargetObject);

试试这个把它添加到 Unity :

创建一个文件夹:Assets/Plugins 放置 *.dll 文件并将其添加为参考。

要添加引用,请在 Visual Studio 的解决方案资源管理器中突出显示分析器,在 Project > Add Reference 下,您可以通过浏览找到位于 Assets/Plugin 中的 *.dll 文件。

或者试试这个命令

安装包 Unity.Newtonsoft.Json -版本 7.0.0

Unity.Newtonsoft | 努古特

于 2017-06-29T12:51:57.553 回答
-1

在 Unity 中解析 JSON 数组时我遇到了类似的问题,您无法使用 JsonUtility 解析 JSON 数组,您必须使用外部库,SimpleJSON 为我工作,只需将 .cs 文件粘贴到您的脚本文件夹中。您可以从这里SimpleJSON下载 JSON 库。向下滚动到 SimpleJSON.cs 部分,将所有内容复制到脚本文件夹中的新 .cs 文件并使用解析响应using SimpleJSON; var jsonObject = JSON.Parse(response),一切顺利!您可以将其作为数组访问或将其分配给监视列表。

于 2017-06-29T12:41:46.270 回答