Ermitteln Sie die Anzahl der Objekte in einem JSON-Array

7

Ich habe viel gesucht und einige Methoden gefunden, um die Länge meines JSON-Arrays zu finden. Ich habe es versucht:

  1. count
  2. json.length

aber diese geben 1 anstatt der tatsächlichen Länge zurück. Ich möchte es mit PHP zeigen.

Mein JSON ist:

%Vor%

Wie kann ich die Anzahl der Objekte in meinem JSON-Array finden?

    
user2201395 08.04.2013, 06:22
quelle

4 Antworten

17

Sie müssen das json Objekt dekodieren und dann die Elemente darin zählen ..

%Vor%     
alwaysLearn 08.04.2013 06:35
quelle
4

Sie müssen in PHP-Arrays entschlüsseln, bevor Sie mit den Daten arbeiten.

Versuchen Sie:

%Vor%

Wenn Sie zu einer niedrigeren Tiefe zählen müssen, müssen Sie das Array durchlaufen.

Wenn Sie beispielsweise die Anzahl der Elemente in der nächsten Ebene zählen möchten, können Sie Folgendes tun:

%Vor%

Dies ist jedoch nicht unbedingt sinnvoll, da es von abhängt, was Sie zu zählen versuchen, was Ihr Ziel ist . Dieser Block zählt nur die Anzahl der darunter liegenden Elemente, unabhängig davon, was die tatsächlichen Zahlen bedeuten könnten.

    
Stegrex 08.04.2013 06:26
quelle
0

Dekodiere zuerst deine json und danach count .

%Vor%     
Yogesh Suthar 08.04.2013 06:27
quelle
0
  

Object (eine ungeordnete Sammlung von Schlüssel: Wert-Paaren mit dem ':' - Zeichen, das den Schlüssel und den Wert trennt, durch Komma getrennt und in geschweifte Klammern eingeschlossen; ...)

Wikipedia: JSON

Sie müssen also nur die geöffneten geschweiften Klammern zählen.

%Vor%

Aber ... Wenn Sie einige Strings mit '{' in json speichern, können Sie das nicht tun. Auf diese Weise müssen Sie Ihren eigenen einfachen Parser oder regulären Ausdruck schreiben.

Aber ... der einfachste Weg zu json_decode. Verwenden Sie die rekursive Funktion, wenn Sie alle Objekte in json zählen wollen.

%Vor%     
sectus 08.04.2013 07:07
quelle

Tags und Links