我想从服务器获取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楼 票数:3 已采纳

您不能使用以下行实例化从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的单独类。

  ask by Angelsm translate from so

未解决问题?本站智能推荐:

1回复

当ScrollView在Unity中到达底部(客户端和服务器端)时加载更多Json数据

假设我在应用程序启动时实例化了 100 个 json 数据和 50 个数据,现在我必须在向下滚动时实例化更多数据并且它到达底部,如下面的 gif 图像所示。 请帮忙,我不知道该怎么做。
1回复

从服务器解析JSON数据[重复]

这个问题已经在这里有了答案: 在Unity中序列化和反序列化Json和Json数组 6答案 我知道有很多线程在讨论解析json数据,但是我从服务器获取的json数据并不常见。 所以我有一个ac#脚本,可以使用websocket从我的node.js服务器获取json数据。
1回复

错误ArgumentException:JSON必须表示来自PyZeroMQ服务器的对象类型

尝试解析从我的 Python 服务器返回的 Json 对象时遇到问题。 我得到的错误是“ArgumentException:JSON 必须表示对象类型。” 令人费解的是,如果我获取从服务器返回的确切字符串并在将其传递给解析方法 Player.CreateFromJSON 之前对其进行硬编码,它会起作
1回复

为什么mimeType在给定“application/json”时没有显示在服务器后端?

我正在尝试将文件上传到服务器,这是一个.json文件。我发送二进制数据以及文件名和Mimetype但在后端它没有显示它是哪个文件扩展名。 这个东西是如何工作的?如果我有相同的文件名但不同的扩展名要上传到服务器,会发生什么。如果我想上传并稍后将其反序列化为两个不同的扩展名,会发生什么?
2回复

从服务器加载时,使Unity中的Texture2D可读

我正在使用DownloadHandlerTexture.GetContent来获取纹理: 加载后,我想将其缓存到文件中,以便执行以下操作: 在这一点上,我得到了例外: 我认为我需要以某种方式使其可读。 我用谷歌搜索,但是唯一的答案是如何通过编辑器使其可读。
1回复

WWWPOST给我内部服务器错误

我正在使用Unity制作一个截取屏幕截图的按钮,然后将其上传到我的服务器。 关键是如果我将表单发送到服务器,WWW会给我一个内部服务器错误。 我已经尝试了很多来自互联网的例子,它仍然给我这个错误。 每次。 这是我上传屏幕截图的C#代码: 这是用于接收BinaryData的php
1回复

尝试从客户端向服务器发送消息时出现“NetworkClientSendwithnoconnection”错误

我正在尝试将自定义网络消息从我的客户端发送到我的服务器,并且我的 SendTexture() 函数在client.Send(AnimalDataMsgType.animalData, animalData);行上收到错误client.Send(AnimalDataMsgType.animalData
1回复

从服务器下载纹理时出现错误m_InstanceID!=0

尝试从服务器下载纹理时,我在 Unity 5.4 中遇到此错误。 这是代码(链接应该有效): 错误如下所示: