繁体   English   中英

从服务器加载Json时如何修复错误

How to fix error when load Json from a server

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我想从服务器获取JSON,但是此错误出现在控制台中:

您正在尝试使用'new'关键字创建MonoBehaviour 这是不允许的。 只能使用AddComponent()添加MonoBehaviour 或者,您的脚本可以从ScriptableObject继承,也可以根本没有基类
UnityEngine.MonoBehaviour:.ctor()

JSON就像一个名称列表,例如

[“ leaderboard01”,“ leaderboard02”,…]

这是我的代码:

public class BC_PlayerInfo : MonoBehaviour 
{
    public string LeaderboardId = "";

    public BC_PlayerInfo(JsonData jsonData)
    {
        LeaderboardId = SafeGet(jsonData, "leaderboardId");
    }

    private string SafeGet(JsonData jsonData, string key)
    {
        var returnValue = "";

        try
        {
            returnValue = jsonData[key].ToString();
        }
        catch (Exception e)
        {
        }

        return returnValue;
    }
}

和...

private void GetLeaderboadsList()
{
    WebClient webClient = new WebClient();

    string result = webClient.DownloadString("https://xxxxxxxxx.com/wp-json/vendor/v1/carambolaEventsNames");

    Debug.Log("Usuario creado en la WEB: " + result);

    List<string> leaderboardIds = new List<string>();

    lblist.Clear();

    var leaderboardsList = JsonMapper.ToObject(result);

    foreach (JsonData leaderboardId in leaderboardsList) lblist.Add(new BC_PlayerInfo(leaderboardId));

    foreach (var leaderboardId in lblist)
    {
        string _leaderboardId = leaderboardId.LeaderboardId;
        Debug.Log("LeaderboardName: " + _leaderboardId);
    }
}

我究竟做错了什么?

1 个回复

您不能使用以下行实例化从MonoBehavior继承的对象:

lblist.Add(new BC_PlayerInfo(leaderboardId));

您正在创建一个Monobehavior的新实例,Unity不允许这样做。 有关更多详细信息,请参见此帖子: https : //answers.unity.com/questions/653904/you-are-trying-to-create-a-monobehaviour-using-the-2.html

至于您的解决方案,该类真的需要从monobehavior继承吗? 我只是删除该继承关系,或创建一个不继承monobehavior的单独类。

3 如何修复 SQL 服务器 JSON_VALUE 路径有“-”错误

我正在尝试获取 JSON 类型的 sql 中字段的值。 不幸的是,路径有“-”,因此当我尝试获取该值时出现错误。 当我尝试使用以下查询获取 json 值时 我收到这个错误 Json 路径格式不正确,发现意外字符“-” 我也尝试添加双引号作为 这返回NULL。 有没有人有办法解 ...

7 发送邮件时如何修复App Engine服务器错误

我导入邮件 并发送邮件给 当我在本地主机上运行该应用程序时,发送邮件可以正常工作。 但是,当我尝试在已部署的应用程序上发送邮件时, 错误:服务器错误 服务器遇到错误,无法完成您的请求。 请在30秒后重试。 怎么了?? ...

9 尝试使用 django 运行服务器时如何修复错误?

我正在尝试学习如何使用 Django,并且我创建了一个名为“lecture3”的文件夹,当我输入talk3 % python manage.py runserver 时,出现错误 讲座 3 :术语“讲座 3”不被识别为 cmdlet、函数、脚本文件或可运行程序的名称。 检查名称的拼写,或者如果包含路 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM