Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] JSON in java encoden und in PHP decoden ?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] JSON in java encoden und in PHP decoden ?

    hi ,

    Ich habe folgendes Problem:

    Ich hab ein javascript file das Datein mit json encoded und in eine Variable schreibt....
    das klappt auch soweit.
    Nun habe ich ein PHP file zum decoden der Datein....

    Und da kommt folgende Fehler meldung :
    Notice: Trying to get property of non-object in .....

    muss ich da jetzt vorm decoden die Variable in ein String verwandeln?
    Wenn ja wie?

    Danke

    Gruß YAT

  • #2
    Zitat von YAT Beitrag anzeigen
    Und da kommt folgende Fehler meldung :
    Notice: Trying to get property of non-object in .....
    Quelltext? Glaskugel ist grad ned Griffbereit.

    Kommentar


    • #3
      so werden die Variablen in JS zugewiesen...

      Code:
      var files = Object.toJSON(files);
      var designs = Object.toJSON(designs);
      und so in PHP decoded:
      PHP-Code:
          $files $json -> decode($_POST['hiddenFiles']);
          
      print_r ($files);
          
      $designs $json -> decode($_POST['hiddenDesigns']);
          
      print_r($designs); 

      Kommentar


      • #4
        Was ist $json für ein Objekt? Tritt der Fehler dort auf? Falls ja: ist $json überhaupt ein Objekt?

        Falls nein? Wie sieht der weitere Code aus

        Kommentar


        • #5
          aso ja waer net schlecht zu wissen ne?! xD

          PHP-Code:
          $json = new Services_JSON(); 


          Code:
              var files = Object.toJSON(files);
              var designs = Object.toJSON(designs);
          wird ueber ein hidden input mit post an die naechste Seite uebergeben....

          wo es decoded wird ....

          Kommentar


          • #6
            Zitat von YAT Beitrag anzeigen
            aso ja waer net schlecht zu wissen ne?! xD

            PHP-Code:
            $json = new Services_JSON(); 
            Ist das die Klasse von Pear oder?

            Code:
                var files = Object.toJSON(files);
                var designs = Object.toJSON(designs);
            wird ueber ein hidden input mit post an die naechste Seite uebergeben....

            wo es decoded wird ....
            In welcher Zeile tritt er Fehler den nun auf. Schon wenn du $json->decode() aufrufst. Oder erst später?

            Hast du dir testweise mal das übergebene JSON ausgeben lassen ob da steht was du erwartest (gültiges JSON)?

            Was sagt ein var_dump() auf $json und $files?

            Kommentar


            • #7
              $json ist einfach eine Variable die dann auf die Klasse Services_JSON verweist, die in PHP geschrieben ist...

              In der Klasse wird der Inhalt korrekt uebergeben und kommt auch so wie gewollt auch aus der Klasse raus...

              fehler ist einfach er gibt nix aus und bei der folgende foreach schleife gibt er ein fehler aus:

              PHP-Code:
                  foreach ($_FILES["file"] as $fileObject){
                     
              $fileObject->fileName preg_replace($REGEXP_file"_"$fileObject->fileName);
                      
              $fileObject->filePath $thisUploadDir $fileObject->fileName;
                      
              $fh      fopen($fileObject->filePath'r');
                      
              $content fread($fhfilesize($fileObject->filePath));

              Notice: Trying to get property of non-object in /Applications/xampp/xamppfiles/htdocs/json/json.php on line 55

              Kommentar


              • #8
                Zitat von agrajag Beitrag anzeigen

                Was sagt ein var_dump() auf $json und $files?
                Was macht denn das var_dump() ?

                Kommentar


                • #9
                  [MAN]var_dump[/MAN]

                  Kommentar


                  • #10
                    bei var_dump() gibt er mir NULL aus....

                    bedeutet das in der variable nix drin is oder?

                    Kommentar


                    • #11
                      Japp.

                      Kommentar


                      • #12
                        mhm okay...

                        Nur wo gehen die Daten verloren? mhm >.<

                        Kommentar


                        • #13
                          Wie wärs wenn du mal deinen wirklichen Quellcode zeigst. Du führst $files = $json->encode() auf $_POST['hiddenFiles'] aus, später postest du einen Ausschnit wo du auf Elemente aus $_FILES wie auf Objekte zugreifen möchtest....

                          Ist etwas schwierig zu durchschauen was du da überhaupt veranstaltest

                          Kommentar


                          • #14
                            Ich kann den ganzen Quellcode aus rechtlichen Gruenden nicht posten... zumindest nich in der original version ... xD

                            Also index.php
                            PHP-Code:
                            <form id="form" action="weiter.php" method="post" enctype="multipart/form-data" onSubmit="return submitFormCheck()"><select id="plateFormatSelect" name="plateFormatSelect" style="width:50px;" onChange="showPlateDesign();">
                                      <
                            option></option>
                                     <
                            option>45435</option>
                                     <
                            option>45564</option>
                             </
                            select>
                            <
                            input type="radio" name="normalisationMethod" value="Radio">
                            <
                            input type="hidden" name="hiddenFiles" id="hiddenFiles" value="">
                            <
                            input type="hidden" name="hiddenDesigns" id="hiddenDesigns" value="">
                                        </
                            form
                            Die JavaScript Datei sammelt halt die Daten von index.php und speichert Sie in den beiden hidden inputs:
                            Code:
                                var files = Object.toJSON(files);
                                var designs = Object.toJSON(designs);
                                $('hiddenFiles').value = files;
                                $('hiddenDesigns').value =designs
                            In der weiter.php Datei sollen die Daten ausgewertet werten... also erst einmal muessen die Daten decoded werden :
                            PHP-Code:
                                $json = new Services_JSON();
                                
                            $files $json -> decode($_POST['hiddenFiles']);
                                
                            print_r ($files);
                                
                            $designs $json -> decode($_POST['hiddenDesigns']);
                                
                            print_r($designs); 
                            Danach werden die Daten ausgewertet... z.B so :

                            PHP-Code:
                            foreach ($_FILES["file"] as $fileObject){
                                    
                            $fileObject->fileName preg_replace($REGEXP_file"_"$fileObject->fileName);
                                    
                            $fileObject->filePath $thisUploadDir $fileObject->fileName;
                                    
                            $fh      fopen($fileObject->filePath'r');
                                    
                            $content fread($fhfilesize($fileObject->filePath));

                            Ich hoffe es ist jetzt bissl verstaendlicher.... xD
                            Ich habe des ganze Zeug ja auch nich selber geschrieben ich musses nur zum laufen bringen xD

                            Kommentar


                            • #15
                              Zitat von YAT Beitrag anzeigen
                              Ich kann den ganzen Quellcode aus rechtlichen Gruenden nicht posten... zumindest nich in der original version ... xD
                              Es macht aber keinen Spaß an erfundenem Quellcode rumzuwursteln ....


                              Also index.php
                              PHP-Code:
                              <form id="form" action="weiter.php" method="post" enctype="multipart/form-data" onSubmit="return submitFormCheck()"><select id="plateFormatSelect" name="plateFormatSelect" style="width:50px;" onChange="showPlateDesign();">
                                        <
                              option></option>
                                       <
                              option>45435</option>
                                       <
                              option>45564</option>
                               </
                              select>
                              <
                              input type="radio" name="normalisationMethod" value="Radio">
                              <
                              input type="hidden" name="hiddenFiles" id="hiddenFiles" value="">
                              <
                              input type="hidden" name="hiddenDesigns" id="hiddenDesigns" value="">
                                          </
                              form
                              Die JavaScript Datei sammelt halt die Daten von index.php und speichert Sie in den beiden hidden inputs:
                              Code:
                                  var files = Object.toJSON(files);
                                  var designs = Object.toJSON(designs);
                                  $('hiddenFiles').value = files;
                                  $('hiddenDesigns').value =designs
                              In der weiter.php Datei sollen die Daten ausgewertet werten... also erst einmal muessen die Daten decoded werden :
                              PHP-Code:
                                  $json = new Services_JSON();
                                  
                              $files $json -> decode($_POST['hiddenFiles']);
                                  
                              print_r ($files);
                                  
                              $designs $json -> decode($_POST['hiddenDesigns']);
                                  
                              print_r($designs); 
                              Danach werden die Daten ausgewertet... z.B so :

                              PHP-Code:
                              foreach ($_FILES["file"] as $fileObject){
                                      
                              $fileObject->fileName preg_replace($REGEXP_file"_"$fileObject->fileName);
                                      
                              $fileObject->filePath $thisUploadDir $fileObject->fileName;
                                      
                              $fh      fopen($fileObject->filePath'r');
                                      
                              $content fread($fhfilesize($fileObject->filePath));

                              Ich hoffe es ist jetzt bissl verstaendlicher.... xD
                              Ich habe des ganze Zeug ja auch nich selber geschrieben ich musses nur zum laufen bringen xD
                              Was gibt das print_r() aus, dass du im Code stehen hast?

                              Ist das alles an Code? Wieso sollten dann in $_FILES['file'] Objekte liegen? Das wird nach wie vor ein ganz normales Array sein... (print_r($_FILES['file'])

                              Kommentar

                              Lädt...
                              X