MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Lire un fichier JSON et l'afficher dans un GUI

    Planifier Épinglé Verrouillé Déplacé Résolu 1.12.x
    1.12.2
    14 Messages 3 Publieurs 936 Vues 2 Abonné
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • ? Hors-ligne
      Un Ancien Utilisateur
      dernière édition par Un Ancien Utilisateur

      J’ai un problème à la ligne 13:

              new Thread() {
      
                  @Override
                  public void run() {
                      
                  	try {
      
                          URL url = new URL("http://...../config.json");
                          InputStream is = url.openStream();
                          String json = CharStreams.toString(new InputStreamReader(is, Charsets.UTF_8));
      
                          ConfigMod configmod = gson.fromJson(json, ConfigMod.class);
                      	
                      	if(ConfigMod.maintenance == "true") {
                      	
                      		GuiCustomMainMenu.this.scrollingText = ConfigMod.maintenancenews;
                  		
                      	} else {
                      		
                      		GuiCustomMainMenu.this.scrollingText = ConfigMod.news;
                      		
                      	}
      
                      } catch(Exception e) {
      
                          GuiCustomMainMenu.this.scrollingText = "Impossible de lire les news!";
      
                      }
      
                  }
      
              }.start();
      

      Cette ligne n’enregistre pas les variables du fichier JSON dans la class ConfigMod car il faut mettre un <Type> mais je ne sais pas quel Type mettre pour que cela écrive les variables du String du fichier JSON que je récupère dans la class ConfigMod.

      1 réponse Dernière réponse Répondre Citer 0
      • robin4002R Hors-ligne
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs
        dernière édition par robin4002

        C’est à quel endroit qu’il demande d’ajouter le type ? Envoies aussi le code de ta classe ConfigMod.

        1 réponse Dernière réponse Répondre Citer 0
        • ? Hors-ligne
          Un Ancien Utilisateur
          dernière édition par Un Ancien Utilisateur

          Il me demande type après le String json dans la variable fromJson:
          ConfigMod configmod = gson.fromJson(json, ICI);

          Le code de ma classe ConfigMod:

          public class ConfigMod {
          	
              public static String news;
              public static String maintenance;
              public static String maintenancenews;
          
          }
          
          1 réponse Dernière réponse Répondre Citer 0
          • robin4002R Hors-ligne
            robin4002 Moddeurs confirmés Rédacteurs Administrateurs
            dernière édition par

            Les variables ne doivent pas être static.

            1 réponse Dernière réponse Répondre Citer 0
            • ? Hors-ligne
              Un Ancien Utilisateur
              dernière édition par

              J’ai enlevé static des variables mais maintenant le problème vient des “ConfidMod.news”, “ConfigMod.maintenance” et “ConfigMod.maintenancenews” qui ont une erreur.

              1 réponse Dernière réponse Répondre Citer 0
              • robin4002R Hors-ligne
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                dernière édition par

                Bha oui, tu essaies d’accéder à ces variables comme s’il était static …
                Il faut passer par l’instance de la classe, donc par ta variable configmod.

                Va falloir revoir la base de Java si tu es bloqué par ce genre de chose.

                1 réponse Dernière réponse Répondre Citer 0
                • AmaA Hors-ligne
                  Ama
                  dernière édition par

                  Je pratique les json avec gson depuis un petit moment maintenant.
                  Donc.
                  Je vais réécrire deux trois trucs.
                  Toujours en partant de cette base de fichier json.

                  {
                      "News": "NEWS",
                      "Maintenance": "false",
                      "MaintenanceNews": "MAINTENANCE NEWS"
                  }
                  
                  public class ConfigMod {
                  	
                  //Au diable le static. Utilises les getters et setters
                  
                  //Ces valeurs doivent être de la même orthographe que dans ton json.
                  //Sinon, serializes les avec un autre nom.
                  @SerializedName("News") // <- Clé dans dans le fichier JSON
                  private String news;
                  
                  @SerializedName("Maintenance")
                  private  boolean maintenance;
                  
                  @SerializedName("MaintenanceNews")
                  private  String maintenanceNews;
                   
                  public String getNews() { return news; }
                  
                  public boolean getMaintenance() { return maintenance; }
                  
                  public String getMaintenanceNews() { return maintenanceNews; }
                  }
                  

                  Comme tu peux le voir j’utilise le boolean dans sa juste mesure.
                  En Boolean et pas en String.

                  Du coup je fichier json resemble à ça désormais.

                  {
                      "News": "NEWS",
                      "Maintenance": false,
                      "MaintenanceNews": "MAINTENANCE NEWS"
                  }
                  

                  Le reste de la lecture du fichier me semble correcte.

                  Tips: Si le texte de maintenance est sur plusieurs ligne, utilise une array de texte, ce sera plus sympa.

                  {
                    "News": "NEWS",
                    "Maintenance": false,
                    "MaintenanceNews": [
                      "Ma première ligne !",
                      "Ma seconde ligne de News de Maintenance."
                    ]
                  }
                  

                  Si je t'ai filé un coup de main n'oublie pas le + / -
                  Par contre évite les demandes d'aides en MP, tu sera sympa'

                  La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

                  Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

                  1 réponse Dernière réponse Répondre Citer 1
                  • ? Hors-ligne
                    Un Ancien Utilisateur
                    dernière édition par

                    Bonjour,
                    Merci j’ai modifié mon code et maintenance ça marche.

                    1 réponse Dernière réponse Répondre Citer 1
                    • AmaA Hors-ligne
                      Ama
                      dernière édition par

                      Nickel !

                      Si je t'ai filé un coup de main n'oublie pas le + / -
                      Par contre évite les demandes d'aides en MP, tu sera sympa'

                      La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

                      Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

                      1 réponse Dernière réponse Répondre Citer 0
                      • ? Hors-ligne
                        Un Ancien Utilisateur
                        dernière édition par

                        Ce message a été supprimé !
                        1 réponse Dernière réponse Répondre Citer 0
                        • 1 / 1
                        • Premier message
                          Dernier message
                        Design by Woryk
                        ContactMentions Légales

                        MINECRAFT FORGE FRANCE © 2024

                        Powered by NodeBB