Hallo,
wie kann ich unter stehende Json Code zu Php Variablen umwandeln.
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!!
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!!
Kommentar