Tu as de la chance, j'ai vu ça Jeudi dernier. Pour les explications par contre, je ne suis pas au point.
https://stackoverflow.com/questions/370 ... listobject
Tu ne peux pas directement "deserializer" un tableau. Il te faut donc tricher en deux étapes avec 2 wrappers.
Tu vas créer une classe qui possède les champs de ce que tu dois récupérer et une autre qui est une liste ou un tableau de cette classe.
Il te faut modifier ta string pour pouvoir la "déserializer" comme une variable unique.
[... tu vois, je sais pas l'expliquer]
Premièrement, modifier ta string
Code : Tout sélectionner
[{"userName":"Nrgumn","userScore":"7"},{"userName":"Remy","userScore":"8"}]
pour que ce soit l'affectation d'une seule variable et avoir un résultat comme suit:
Code : Tout sélectionner
newJsonString = {"players":[{"userName":"Nrgumn","userScore":"7"},{"userName":"Remy","userScore":"8"}]}
Tu vois maintenant tu peux "déserializer" dans players.
Il faut donc définir players:
Code : Tout sélectionner
[Serializable]
public class Players
{
public Player[] players;
}
players est un tableau de player, ce que tu veux récupérer, il te faut donc la définir comme tu le ferais pour une variable unique
Code : Tout sélectionner
[Serializable]
public class Player
{
public string userName;
public int userScore;
}
Voilà, maintenant tu as une variable players qui contient des player.
Tu peux donc "déserializer":
Code : Tout sélectionner
Players myPlayers = JsonUtility.FromJson<Players>(newJsonString );
et tu peux ensuite accéder à chaque player depuis le tableau:
Car myPlayers contient une variable players qui est un tableau de player.
J'espère que je suis suffisamment pas trop obscur pour que tu aies compris
