Newtonsoft.Json 可在 Unity 编辑器中运行,但无法在移动设备上运行

Har*_*rte 5 c# json json.net unity-game-engine jsonconvert

我正在 Unity 中编写一个按类别提问和回答的游戏。这些类别是通过返回 JSON 文本的 PHP 脚本获取的,*当我在 UnityEditor 中使用此解决方案时,它可以正常工作,但是当我在移动设备上安装 .apk 时,反序列化不起作用*

与 mysql 数据库的连接和 PHP 脚本工作正常,因为在我登录之前它工作正常

string json = [
    {   "id_cat":"1",
        "nombre_cat":"DAM",
        "id_cat_padre":"0"
    },
    {   "id_cat":"4",
        "nombre_cat":"ASIR",
        "id_cat_padre":"0"
    },
    {   "id_cat":"5",
        "nombre_cat":"DAW",
        "id_cat_padre":"0"
    }
]
Run Code Online (Sandbox Code Playgroud)

然后我将此字符串转换为类别列表

lsSubCategorias = JsonConvert.DeserializeObject<List<Categoria>>(json, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });
Run Code Online (Sandbox Code Playgroud)

我已经在代码中添加了痕迹,它就在它停止的那一行上。

我使用 NuGet 安装了 Newtonsoft.Json,它出现在参考文献中。

我也只处理了一个类别对象而不是一个列表,但它也不起作用。这不是可视化问题,因为我已经创建了类别对象并用它们创建了按钮。

问题是它可以在 Unity 编辑器中运行,但不能在我的 Android 设备上运行

我的手机出现以下错误:

类型错误:System.PlatformNotSupportedException ToString 错误():Error.ToString()

Doc*_*oss 5

我使用 NuGet 安装了 Newtonsoft.Json,它出现在参考文献中。

Unity3d il2cpp 目标(例如移动设备)不支持来自 NuGet 的 Newtonsoft.Json。使用资源商店中的 Newtonsoft.Json 分支,就像这个

  • 这是旧帖子,但我推荐这个:https://github.com/jilleJr/Newtonsoft.Json-for-Unity (2认同)