【发布时间】:2020-03-30 07:49:53
【问题描述】:
我正在 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"
}
]
然后我将此字符串转换为类别列表
lsSubCategorias = JsonConvert.DeserializeObject<List<Categoria>>(json, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });
我已经在代码中添加了痕迹,它就在它停止的那一行。
我使用 NuGet 安装了 Newtonsoft.Json,它出现在参考资料中。
我也只处理了一个类别对象而不是列表,但它也不起作用。 而且这不是可视化问题,因为我已经创建了类别对象并使用它们创建了按钮。
问题是它在 Unity 编辑器中工作,但在我的 android 设备上不起作用
我的手机出现以下错误:
类型错误:System.PlatformNotSupportedException ToString 错误():Error.ToString()
【问题讨论】:
-
你能提供一些关于它到底是什么不起作用的信息吗?仅仅知道它不起作用并不能告诉我们太多,而且让我们很难为您提供帮助。例如,您是否遇到任何错误?
-
我以为我没有错误,但现在我将代码放在 trycatch 中,我收到以下错误消息: "Operation is not supported on this platform" 。此错误仅在我从手机运行游戏时出现,而不是从 UnityEditor 运行时出现
-
有什么理由不使用 unity json?
-
内置的统一 json 实用程序非常快,我建议您使用它,除非您有特殊原因不这样做
-
1) 如果您使用的是 Xamarin Live Player,那么那里不支持 Json.NET。请参阅 Newtonsoft.Json deserialize object in Xamarin iOS project 和 JsonConvert.SerializeObject always return {} in XamarinForms。 2) 您能否请edit 分享您的问题以分享完整的
ToString()异常输出,包括异常类型、消息、回溯和内部异常(如果有)?
标签: c# json unity3d json.net jsonconvert