Ich habe das folgende Array in PHP:
Array
(
[0] => Array
(
[id] => 0
[name] => name1
[short_name] => n1
)
[2] => Array
(
[id] => 2
[name] => name2
[short_name] => n2
)
)
Ich möchte JSON als JSON-Array codieren und eine Zeichenfolge wie die folgende erzeugen:
[
{
"id":0,
"name":"name1",
"short_name":"n1"
},
{
"id":2,
"name":"name2",
"short_name":"n2"
}
]
Wenn ich json_encode
dieses Array aufrufe, erhalte ich Folgendes:
{
"0":{
"id":0,
"name":"name1",
"short_name":"n1"
},
"2":{
"id":2,
"name":"name2",
"short_name":"n2"
}
}
Das ist ein Objekt anstelle eines Arrays.
Wie kann ich json_encode
stattdessen mein Array als Array codieren?
0,2
wichtig sind? Ich bin in der gleichen Situation, in der ich das Array nicht neu indizieren kann.Array
inJSON
ist indiziertes Array nur , so dass die Struktur ist ungültig Json / Javascript zu bekommen versuchen.Das Array PHP Associatives sind Objekte in JSON. Wenn Sie den Index nicht benötigen, können Sie solche Konvertierungen nicht durchführen.
Wenn Sie eine solche Struktur erhalten möchten, können Sie Folgendes tun:
Will gibt so etwas zurück wie:
quelle
true wandelt alle Eigenschaften in ein Array um (sequentiell oder nicht)
quelle
json_encode
$serialized = json_encode($nonContiguousArray);
$unserialize = json_decode($serialized, true);
endlich empfehlen würden,finallySerializedInArrayFormat = json_encode($unserialize);
wenn Sie beabsichtigen, dass Sie Recht haben, aber es schien eine etwas umständliche Lösung zu sein.Versuche dies,
quelle