json zu php-Variablen aber wie ???

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

  • json zu php-Variablen aber wie ???

    Hallo,

    wie kann ich unter stehende Json Code zu Php Variablen umwandeln.

    PHP-Code:
    {
      
    "doctitle""Test Dokument",
      
    "date""02.05.2007",
      
    "locked"false,
      
    "locktime"1181258563,
      
    "read"true,
      
    "write"true,
      
    "entry": [
        {
           
    "id""e1",
           
    "title""Test-Entry 1",
           
    "content""blabla ...",
           
    "time""02.05.2007",
           
    "edittime""02.05.2007",
           
    "read"true,
           
    "write"true,
        },
        {
           
    "id""e2",
           
    "title""Test-Entry 2",
           
    "content""blabla ... <font style=\"font-size:16px\">asd</font>",
           
    "time""02.05.2007",
           
    "edittime""02.05.2007",
           
    "read"true,
           
    "write"false,
        },
        {
           
    "id""e3",
           
    "title""Test-Entry 3",
           
    "content""blabla ...",
           
    "time""02.05.2007",
           
    "edittime""02.05.2007",
           
    "read"true,
           
    "write"false,
        }
      ]


    Das mache ich sehr manuel mit explode Funktion, nachdem ich die Json-Datei gelesen habe. Das ist auch so...


    $this->quelle = implode ("", file ("json/".$file.".json"));

    function inhalt() {

    $quellefor2 = explode("\"entry\": [", $this->quelle);
    $quellefor22 = explode("\"id\": \"", $quellefor2[1]);
    $quelleforcount = count($quellefor22)-1;

    $k=1;
    $content=chr(13).chr(10);

    for ($i=1;$i<=$quelleforcount; $i++) {

    $quellefor3 = explode("\",".chr(13).chr(10), $quellefor22[$i]);

    $quellefor4 = explode("\"title\": \"", $quellefor22[$i]);
    $quellefor44 = explode("\",".chr(13).chr(10), $quellefor4[1]);

    $quellefor5 = explode("\"content\": \"", $quellefor22[$i]);
    $quellefor55 = explode("\",".chr(13).chr(10), $quellefor5[1]);

    $quellefor6 = explode("\"time\": \"", $quellefor22[$i]);
    $quellefor66 = explode("\",".chr(13).chr(10), $quellefor6[1]);

    $quellefor7 = explode("\"edittime\": \"", $quellefor22[$i]);
    $quellefor77 = explode("\",".chr(13).chr(10), $quellefor7[1]);

    $quellefor8 = explode("\"read\": ", $quellefor22[$i]);
    $quellefor88 = explode(",".chr(13).chr(10), $quellefor8[1]);

    $quellefor9 = explode("\"write\": ", $quellefor22[$i]);
    $quellefor99 = explode(",".chr(13).chr(10), $quellefor9[1]);


    if($quellefor88[0]=="true"){

    $content .= "<div id=\"msg_".$quellefor3[0]."\">".chr(13).chr(10);
    $content .= "<table border=\"0\" style=\"border-collapse: collapse\" width=\"594\" cellpadding=\"2\" cellspacing=\"0\">".chr(13).chr(10);
    $content .= " <tr bgcolor=\"#FF8000\">".chr(13).chr(10);
    $content .= " <td width=\"440\" height=\"27\" style=\"border: 1px solid #000000\"><b>".$k."]</b> ".$quellefor44[0]."</td>".chr(13).chr(10);
    if($quellefor99[0]=="false"){
    $content .= " <td width=\"142\" style=\"border: 1px solid #000000\">schreibgeschützt</td>".chr(13).chr(10);
    } elseif ($quellefor99[0]=="true") {
    $content .= " <td width=\"142\" style=\"border: 1px solid #000000\"><span class=\"editbutton\" onclick=\"callServer('".$this->file."','edit','".$quellefor3[0]."');\"><b>[ Edit ]</b></span></td>".chr(13).chr(10);
    }
    $content .= " </tr>".chr(13).chr(10);
    $content .= " <tr bgcolor=\"#FFFFFF\">".chr(13).chr(10);
    $content .= " <td width=\"588\" colspan=\"2\">".stripcslashes($quellefor55[0])."</td>".chr(13).chr(10);
    $content .= " </tr>".chr(13).chr(10);
    $content .= " <tr bgcolor=\"#FFFFFF\">".chr(13).chr(10);
    $content .= " <td width=\"588\" colspan=\"2\" align=\"center\">Datum: ".$quellefor66[0]." - Änderungsdatum: ".$quellefor77[0]."</td>".chr(13).chr(10);
    $content .= " </tr>".chr(13).chr(10);
    $content .= " <tr>".chr(13).chr(10);
    $content .= " <td width=\"588\" height=\"6\" colspan=\"2\" align=\"center\"></td>".chr(13).chr(10);
    $content .= " </tr>".chr(13).chr(10);
    $content .= "</table>".chr(13).chr(10);
    $content .= "</div>".chr(13).chr(10);
    $k++;
    }
    }
    $this->inhalt = $content;
    return $this->inhalt;
    }


    wie Ihr sieht, welche Code ich benutze, ist ziemlich manuel. Wenn es im Form was geändert wird, wird es also nicht funktionieren.

    Deswegen wollte ich fragen, ob es eine Möglichkeit gibt, es automatisch in Variablen oder irgenwie anders zu nehmen.

    Ich habe unter json.org stehende Seiten PHP Manuels gelesen, aber ging irgendwie nicht zu PHP-Arrays zu umwandeln.

    Könnte jemand mir ein kleines Beispiel geben?

    Danke!!
    Zuletzt geändert von mydictionary; 11.06.2007, 10:49.

  • #2
    Re: json zu php-Variablen aber wie ???

    Regeln lesen, Code umbrechen.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      json_decode()

      http://de.php.net/json

      ab PHP 5.2.x

      Kommentar


      • #4
        ich habe vergessen zu sagen, dass es unter PHP 4 auch funktionieren soll

        Kommentar


        • #5
          Dann lies bitte mal die User Kommentare unter http://de.php.net/json....

          Kommentar

          Lädt...
          X