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 721 Vues 2 Watching
    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.
    • robin4002R Hors-ligne
      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
      dernière édition par

      Bha faut faire un peu de recherche, ce n’est pas compliqué : https://www.mkyong.com/java/how-to-parse-json-with-gson/

      1 réponse Dernière réponse Répondre Citer 0
      • ? 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