C# 联合中的联合不再有效。为什么?

C# 联合中的联合不再有效。为什么?,c#,json,parsing,unity3d,json.net,C#,Json,Parsing,Unity3d,Json.net,我试图从服务器上获取的Json中获取一个整数值。我使用了Unity图书馆的JsonUtility,效果很好。突然,它不再解析了。 返回的所有值均为空 //SAMPLE CODE SpinResult res = JsonUtility.FromJson<SpinResult>(download.downloadHandler.text); spinValue = res.result; //spinValue is always 0. It was working fine //

我试图从服务器上获取的Json中获取一个整数值。我使用了Unity图书馆的JsonUtility,效果很好。突然,它不再解析了。 返回的所有值均为空

//SAMPLE CODE
SpinResult res = JsonUtility.FromJson<SpinResult>(download.downloadHandler.text);
spinValue = res.result;
//spinValue is always 0. It was working fine


//CLASS
[System.Serializable]
public class SpinResult
{
    public int result;
}


//JSON
{
    "data": {
        "type": "",
        "id": "",
        "attributes": {
            "server_seed": "",
            "client_seed": "",
            "result": 31,
        },
        "next_spin": {
            "hashed_server_seed": "",
            "client_seed": ""
        }
    }
}
//示例代码
SpinResult res=JsonUtility.FromJson(download.downloadHandler.text);
spinValue=res.result;
//spinValue始终为0。它工作得很好
//阶级
[系统可序列化]
公共类结果
{
公共结果;
}
//JSON
{
“数据”:{
“类型”:“,
“id”:“,
“属性”:{
“服务器种子”:“”,
“客户种子”:“,
“结果”:31,
},
“下一个旋转”:{
“哈希服务器种子”:“”,
“客户端种子”:”
}
}
}

我只需要整数“RESULT”,在这种情况下它应该是31,但实际输出总是0。我每次都检查Json,它工作得非常好。

我还没有测试过这个,但请尝试使您的类看起来像这样:

[System.Serializable]
public class SpinResult
{
    public string type;
    public string id;
    public Attributes attributes;
}

[System.Serializable]
public class Attributes
{
    public string server_seed;
    public string client_seed;
    public int result;
}
然后要获得
结果的值
,您可以使用:

int spinValue = res.attributes.result;

我还没有测试过这个,但是试着让你的类看起来像这样:

[System.Serializable]
public class SpinResult
{
    public string type;
    public string id;
    public Attributes attributes;
}

[System.Serializable]
public class Attributes
{
    public string server_seed;
    public string client_seed;
    public int result;
}
然后要获得
结果的值
,您可以使用:

int spinValue = res.attributes.result;

您提供的json文本是否与下载.downloadHandler.text的结果相同?是的,它与UTF8 stringOk的json相同。我试图复制您的代码,但在让JsonUtility正常工作时遇到了问题。尽管如此,我认为问题在于您的类
spinsult
不包含正确的属性。我不相信
JsonUtility。FromJson
知道如何将所有json转换为单个int。您可能需要使您的“SpinResult”看起来更像json。您的意思是添加和排列删除的信息?我试试看。我不明白的是为什么会这样。这就是问题所在,你是对的。谢谢。您提供的json文本是否与下载.downloadHandler.text的结果相同?是的,它与UTF8 stringOk的json相同。我试图复制您的代码,但在让JsonUtility正常工作时遇到了问题。尽管如此,我认为问题在于您的类
spinsult
不包含正确的属性。我不相信
JsonUtility。FromJson
知道如何将所有json转换为单个int。您可能需要使您的“SpinResult”看起来更像json。您的意思是添加和排列删除的信息?我试试看。我不明白的是为什么会这样。这就是问题所在,你是对的。谢谢。好的,谢谢!很高兴听到这个消息!你介意把这个标记为正确答案吗?谢谢好的,谢谢!很高兴听到这个消息!你介意把这个标记为正确答案吗?谢谢