使用JSON检索玩家得分

时间:2014-05-23 17:48:53

标签: json facebook unity3d facebook-unity-sdk

我正在尝试使用Unity中的facebook API来重新获得玩家得分。这是我正在使用的代码:

if(FB.IsLoggedIn){
        FB.API("/me/scores", Facebook.HttpMethod.GET, scoreRetrived);
    }

public void scoreRetrived(FBResult result){
    var dict = Json.Deserialize(result.Text) as Dictionary<string,object>;
    print (dict["score"]);
    }

这是FBResult result.text:

的结果

{“data”:[{“user”:{“id”:“1000015239203”,“name”:“AAA BBB”},“得分”:30,“应用”:{“名称”:“游戏”, “ID”: “2419296161993”}}]}

我怎样才能获得分数?!!!它对我不起作用有错误,因为Key不存在!

2 个答案:

答案 0 :(得分:0)

如果将JSON数组的格式扩展为更易于阅读,则它将如下所示:

{
    "data":[
        {
            "user": {
                "id":   "1000015239203",
                "name": "AAA BBB"
            },
            "score": 30,
            "application": {
                "name": "game",
                "id":   "2419296161993"
            }
        }
    ]
}

因此,要访问乐谱,您需要

dict['data']['score']

或可能:

dict.data.score

取决于语言。

答案 1 :(得分:0)

这很痛苦,但我找到了解决方案:

public void scoreRetrived(FBResult result){
    var dict = Json.Deserialize(result.Text) as Dictionary<string,object>;
    List<object> data = dict["data"] as List<object>;
    int playerScore = int.Parse(((Dictionary<string, object>)data.ToArray()[0])["score"].ToString());
}
哇终于哇!!