Trier ou filtrer des données depuis un fichier Json

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
Maud
Messages : 28
Inscription : 05 Fév 2020 14:30

Trier ou filtrer des données depuis un fichier Json

Message par Maud » 30 Déc 2022 22:58

Bonjour à tous,
mon but est de faire une appli de QCM: Quizz avec choix multiples.
Les questions seront nombreuses (environs 200) je souhaitais donc sauvegarder les questions et réponses proposées dans un fichier Json.
Le lire ensuite depuis Unity et tirer une question au hasard.

Ma question était de savoir si depuis un script dans Unity il est possible de faire des filtres ou des requêtes par rapports aux données du Json (ex tirer au sort parmi les questions du critère 1)
Je précise juste que les données seront stockées en interne pour une utilisation offline.

Quelqu'un peut-il m'éclairer un peu sur la démarche à suivre ?
Merci beaucoup.

Avatar de l’utilisateur
jmhoubre
Messages : 856
Inscription : 05 Oct 2019 22:05

Re: Trier ou filtrer des données depuis un fichier Json

Message par jmhoubre » 30 Déc 2022 23:35

Bonsoir,
en C# la librairie Linq fournit des méthodes pour faire ce que tu souhaites, et c'est très pratique.
Je pense qu'il est aussi possible de le faire soi-même, c'est sans doute plus exigeant.

Maud
Messages : 28
Inscription : 05 Fév 2020 14:30

Re: Trier ou filtrer des données depuis un fichier Json

Message par Maud » 30 Déc 2022 23:42

Merci beaucoup pour ta réponse!
Je ne connais pas l'utilisation de "Linq",
Je vais chercher de ce coté

Maud
Messages : 28
Inscription : 05 Fév 2020 14:30

Re: Trier ou filtrer des données depuis un fichier Json

Message par Maud » 31 Déc 2022 01:19

J'ai un nouveau problème.
Je parviens à l'ire mon fichier Json placé dans le répertoire Assets si il contient 1 enregistrement,
par exemple :
{
"Question": "question1",
"Reponse1": "A",
"Reponse2": "B",
"Reponse3": "C",
}
cela fonctionne, par contre si j’essaie de lire un tableau, je n'obtiens aucune données
[
{
"Question": "question1",
"Reponse1": "A",
"Reponse2": "B",
"Reponse3": "C",
},
{
"Question": "question2",
"Reponse1": "AA",
"Reponse2": "BB",
"Reponse3": "CC",
}
]
cela ne fonctionne pas

Avatar de l’utilisateur
jmhoubre
Messages : 856
Inscription : 05 Oct 2019 22:05

Re: Trier ou filtrer des données depuis un fichier Json

Message par jmhoubre » 31 Déc 2022 13:14

Bonjour Maud,

voici quelques remarques :
  • Ta question n'a pas grand chose à voir avec le titre du sujet : tu devrais clore ta demande "Trier ou filtrer ..." et poser une nouvelle question comme "Formatage d'un fichier JSON". Cela aiderait les gens à t'aider.
  • As-tu cherché un peu ? Beaucoup de ressources t'auraient indiqué que le formatage de ton fichier n'est pas conforme au standard ECMA-404, qui décrit "The JSON Data Interchange Syntax".
  • As-tu essayé de lire ton fichier avec un logiciel comprenant JSON ? Firefox par exemple, ou même Notepad++, t'indiquent s'ils comprennent ton fichier, Firefox t'indiquant même les erreurs.
Voici un formatage lu correctement par Firefox :

Code : Tout sélectionner

[
{
"Question": "question1",
"Reponse1": "A",
"Reponse2": "B",
"Reponse3": "C"
},
{
"Question": "question2",
"Reponse1": "AA",
"Reponse2": "BB",
"Reponse3": "CC"
}
]

youtpout
Messages : 71
Inscription : 15 Nov 2020 15:54

Re: Trier ou filtrer des données depuis un fichier Json

Message par youtpout » 02 Jan 2023 18:49

Maud a écrit :
31 Déc 2022 01:19
J'ai un nouveau problème.
Je parviens à l'ire mon fichier Json placé dans le répertoire Assets si il contient 1 enregistrement,
tu devrais utilisé la sérialisation et crée les classes correspondantes, tu as des sites comme celui ci pour convertir du json en classe c# https://json2csharp.com/
je crois même que visual studio permet de faire ça ensuite avec newtonsoft tu pourra désérializé directement dans l'objet voulu

Répondre

Revenir vers « Scripting »