Aus PHP -Code möchte ich ein Json-Array erstellen:
[
{"region":"valore","price":"valore2"},
{"region":"valore","price":"valore2"},
{"region":"valore","price":"valore2"}
]
Wie kann ich das machen?
Leicht peasy lemon squeezy: http://www.php.net/manual/de/function.json-encode.php
<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
?>
Auf der oben genannten Seite gibt es einen Beitrag von andyrusterholz at g-m-a-i-l dot c-o-m
, der auch komplexe verschachtelte Arrays verarbeiten kann (falls das Ihre Sache ist).
Verwenden Sie das native json_encode
von PHP wie folgt:
<?php
$arr = array(
array(
"region" => "valore",
"price" => "valore2"
),
array(
"region" => "valore",
"price" => "valore2"
),
array(
"region" => "valore",
"price" => "valore2"
)
);
echo json_encode($arr);
?>
Update: Um Ihre Frage im Kommentar zu beantworten. Du machst es so:
$named_array = array(
"nome_array" => array(
array(
"foo" => "bar"
),
array(
"foo" => "baz"
)
)
);
echo json_encode($named_array);
Einfach: Erstellen Sie einfach ein (verschachteltes) PHP - Array und rufen Sie json_encode
auf. Numerische Arrays werden in JSON-Listen ([]
) übersetzt, assoziative Arrays und PHP Objekte in Objekte ({}
). Beispiel:
$a = array(
array('foo' => 'bar'),
array('foo' => 'baz'));
$json = json_encode($a);
Gibt Ihnen:
[{"foo":"bar"},{"foo":"baz"}]
Die beste Methode, die Sie zum Erstellen von Json in PHP unbedingt verwenden sollten, ist, zunächst die Werte im ASSOCIATIVE-Array zu konvertieren.
Danach einfach mit json_encode($associativeArray)
kodieren. Ich denke, es ist der beste Weg, Json in PHP zu erstellen, denn wenn wir die Ergebnis-SQL-Abfrage in PHP meistens abrufen, haben wir Werte mit der fetch_assoc
-Funktion erhalten, die auch ein assoziatives Array zurückgibt.
$associativeArray = array();
$associativeArray ['FirstValue'] = 'FirstValue';
...usw.
Nachdem.
json_encode($associativeArray);
auch für array können sie eine kurze annotattion verwenden:
$arr = [
[
"region" => "valore",
"price" => "valore2"
],
[
"region" => "valore",
"price" => "valore2"
],
[
"region" => "valore",
"price" => "valore2"
]
];
echo json_encode($arr);
$json_data = '{ "Languages:" : [ "English", "Spanish" ] }';
$lang_data = json_decode($json_data);
var_dump($lang_data);
Wenn Sie nur diese eine Zeile eingeben, erhalten Sie ein JSON-Array.
echo json_encode($array);
Normalerweise verwenden Sie json_encode
, Um Daten von einer iOS- oder Android - App zu lesen. Stellen Sie also sicher, dass Sie nichts anderes als das genaue JSON-Array wiedergeben.
So kann ich es mit Hilfe der von @tdammers angegebenen Lösung tun. .__ Die folgende Zeile wird in der foreach-Schleife platziert.
$array[] = array('power' => trim("Some value"), 'time' => "time here" );
Und dann kodieren Sie das Array mit der Json-Kodierungsfunktion
json_encode(array('newvalue'=> $array), 200)
<?php
$username=urldecode($_POST['log_user']);
$user="select * from tbl_registration where member_id= '".$username."' ";
$rsuser = $obj->select($user);
if(count($rsuser)>0)
{
// (Status if 2 then its expire) (1= use) ( 0 = not use)
$cheknew="select name,ldate,offer_photo from tbl_offer where status=1 ";
$rscheknew = $obj->selectjson($cheknew);
if(count($rscheknew)>0)
{
$nik=json_encode($rscheknew);
echo "{\"status\" : \"200\" ,\"responce\" : \"201\", \"message\" : \"Get Record\",\"feed\":".str_replace("<p>","",$nik). "}";
}
else
{
$row2="No Record Found";
$nik1=json_encode($row2);
echo "{\"status\" : \"202\", \"responce\" : \"604\",\"message\" : \"No Record Found \",\"feed\":".str_replace("<p>","",$nik1). "}";
}
}
else
{
$row2="Invlid User";
$nik1=json_encode($row2);
echo "{\"status\" : \"404\", \"responce\" : \"602\",\"message\" : \"Invlid User \",\"feed\":".str_replace("<p>","",$nik1). "}";
}
?>