Unity Facebook SDK, не удается получить страну из словаря после входа в систему - PullRequest
0 голосов
/ 25 ноября 2018

Я получаю страну пользователя Facebook следующим образом:

 void Get()
    {
        FB.API("/me?fields=location{location{country}}", HttpMethod.GET,this.callback1);
    }

    private void callback1(IResult result)
    {
        if (result.Error != null)
        {
            Debug.Log("FB.API result = null");
        }
        else
        {
            Dictionary<string, object> dict = Facebook.MiniJSON.Json.Deserialize(result.RawResult) as Dictionary<string, object>;
    }
}

Это прекрасно работает.

JSON выглядит так:

{
  "location": {
    "location": {
      "country": "England"
    },
    "id": "111122233344"
  },
  "id": "1112299000"
}

Проблема в том, чтоdict результат похож на вложенный словарь, я не могу найти простой способ получить название страны.

1 Ответ

0 голосов
/ 25 ноября 2018

Я не могу проверить этот конец в конец, рисуя из документов , это должно выглядеть так:

var dict = Json.Deserialize(jsonString) as Dictionary<string,object>;

object locationH;
string country;
if(dict.TryGetValue ("location", out locationH)) {
  var location = (((Dictionary<string, object>)locationH) ["location"]);
  var countryDict = (((Dictionary<string, object>)location) ["country"]);
  country = (string)countryDict;
}
...