Анализ данных запроса игры Facebook JSON

В настоящее время я использую facebook, и у меня есть метод обратного вызова, который возвращает результат JSON в виде строки.

Результат имеет следующий формат:

{
"request": "420211088059698",
"to": [
    "100002669403922",
    "100000048490273"
]
}

Как я буду разбирать » to » в какой-то список? Таким образом, я могу использовать этот список, чтобы проверить, что пользователь действительно действительно отправил запрос другу, чтобы играть в игру.

Спасибо ребята

3 ответа

  1. Необходимо преобразовать его в массив класса. Это можно сделать с помощью Unity, встроенного в JsonUtility API.

    JsonUtility.ToJson преобразование класса в Json.

    JsonUtility.FromJson чтобы преобразовать Json обратно в класс.

    Посетите здесь пример массива Json.

    РЕДАКТИРОВАТЬ:

    Вы попросили пример:

    class FacebookInfo
    {
        public string request;
        public string[] to;
    }
    
    void Start()
    {
        FacebookInfo fbInfo = new FacebookInfo();
        string fbJson = "{\"request\": \"420211088059698\",\"to\": [\"100002669403922\",\"100000048490273\"]}";
        fbInfo = JsonUtility.FromJson<FacebookInfo>(fbJson);
    
        //Show request
        Debug.Log("Request: " + fbInfo.request);
    
        //Show to arrays
        for (int i = 0; i < fbInfo.to.Length; i++)
        {
            Debug.Log("To : " + fbInfo.to[i]);
        }
    }
    

    Протестировано с Unity 5.4.0.13 B и похоже, что Unity теперь поддерживает массив Json без написания дополнительного кода. Просто убедитесь, что у вас есть эта версия, которую я упоминал.

  2. Вы можете использовать JSON.Net для десериализации в класс структуры ниже:

    Class Test{
    public string request {get;set;}
    public List<string> to {get;set;}
    }
    

    затем просто вызовите deserialize метод на строке JSON, чтобы получить объект.

    Test obj = JsonConvert.DeserializeObject<Test>(jsonstring);
    
  3. просто используйте SimpleJson http://wiki.unity3d.com/index.php/SimpleJSON , никакой дополнительной работы не требуется, посмотрите на пример, все, что вам нужно сделать, это использовать JSON.Разберите и вы массив и можете использовать его как данные[«запрос»], чтобы получить значения, надеюсь, это поможет.