Ich versuche, ein JSON-Objekt aus MySQL-Ergebnissen zu erstellen, aber nicht das Ergebnis, das ich brauche. HierZurückgeben eines JSON-Objekts mit PHP json_encode() & MySQL an jQuery-Funktion übergeben
ist die PHP
$json = array();
$result = mysqli_query ($connection, $query);
echo '[';
while($row = mysqli_fetch_array ($result))
{
echo '{';
echo '"latitude":"'.$row['lat'].'",';
echo '"longitude":"'.$row['lng'].'",';
echo '"icon":'.'"./images/'.$row['busColor'].'.png"';
echo '}';
}
echo ']';
$jsonstring = json_encode($json);
echo $jsonstring;
die();
Es gibt dieses
[{"latitude":"39.976257","longitude":"-83.003464","icon":"./images/pink.png"}][]
Aber ich will diese
[{"latitude":"39.976257","longitude":"-83.003464","icon":"./images/pink.png"}]
sobald ich das Ergebnis, das ich muss passieren, das Objekt zu einem jQuery-Plugin-Funktion, wenn das einen Unterschied macht
$.getJSON('myJsonURL, function(myMarkers){
$("#map").goMap({
markers: myMarkers
});
});
Dank
Das funktioniert perfekt und zeigt, wie man das macht, was David erklärt. Die Ausgabe sieht folgendermaßen aus: '{{" Breite ":" 39.992989 "," Länge ":" - 249.090057 "," Symbol ":". \/Images \ /pink.png "}'. Also json_encode entkommt automatisch den Schrägstrichen? Gibt es eine Möglichkeit, dies zu unterdrücken? Ich muss nicht, aber nur neugierig. – JCam
Ja, die Schrägstriche werden standardmäßig hinzugefügt. Du könntest 'urlencode ('./ images /')' und den 'urldecode (json_encode ($ json))' '- aber das ist irgendwie chaotisch! – RabidFire