C# 联合中的联合不再有效。为什么?
我试图从服务器上获取的Json中获取一个整数值。我使用了Unity图书馆的JsonUtility,效果很好。突然,它不再解析了。 返回的所有值均为空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 //
//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。您的意思是添加和排列删除的信息?我试试看。我不明白的是为什么会这样。这就是问题所在,你是对的。谢谢。好的,谢谢!很高兴听到这个消息!你介意把这个标记为正确答案吗?谢谢好的,谢谢!很高兴听到这个消息!你介意把这个标记为正确答案吗?谢谢