2016-05-17 7 views
-4

Ich versuche, meine Zeichenfolge übergibt untenJSON.parse erzeugt keine richtige Arrays von Objekt

{ "1": { "11": { "CityID": 1, "BPID": 11, "Name": "Goldene Meile Turm", "Zeit": "+ 00:00", "sbpid": 50043}}, "2": {"34": {"cityid": 2, "bpid": 34, "name": "KL Sentral", "Uhrzeit": "+ 00:00", "sbpid": 50040}}, "8": {"244": {"cityid": 8, "bpid" : 244, "name": "Taman Sri Puteri", "Zeit": "+ 00:00", "sbpid": 50042}}}

console.log(JSON.parse(str)) 

Es wird nicht wha t I wie unten

enter image description here

Jede Idee erwarten warum ??

+0

Ihre Zeichenfolge kann nicht mit reinem json-Parser in Ihr Bild konvertiert werden. – Justinas

+1

Es analysiert nicht zu einem Array mit 3 Elementen - es analysiert es zu einem Objekt mit drei Eigenschaften, weil das die kodierten Daten sind. – Andy

+0

@Andy was soll ich tun, um das Ergebnis zu erreichen, das im Bild gezeigt wird? – Jennifer

Antwort

1

Es wird nicht die richtige Array erzeugt, weil Sie es nicht haben.

Sie haben Object nicht Array

Dieses Array ist, weil es aus dem Index 1 beginnt:

{ 
    "1":{"11":{"cityid":1,"bpid":11,"name":"Golden Mile Tower","time":"+00:00","sbpid":50043}}, 
    "2":{"34":{"cityid":2,"bpid":34,"name":"KL Sentral","time":"+00:00","sbpid":50040}}, 
    "8":{"244":{"cityid":8,"bpid":244,"name":"Taman Sri Puteri","time":"+00:00","sbpid":50042}} 
} 

und das ist Array:

[ 
    {"11":{"cityid":1,"bpid":11,"name":"Golden Mile Tower","time":"+00:00","sbpid":50043}}, 
    {"34":{"cityid":2,"bpid":34,"name":"KL Sentral","time":"+00:00","sbpid":50040}}, 
    {"244":{"cityid":8,"bpid":244,"name":"Taman Sri Puteri","time":"+00:00","sbpid":50042}} 
] 

Zur Umwandlung Object zu Array Verwenden Sie Schleife, wie:

+0

Also muss ich Objekt in Array konvertieren? – Jennifer

+0

Es bedeutet, dass Ihr Backend funktioniert nicht korrekt oder Sie können mit Objekt arbeiten oder Sie können es in Array über Schleife konvertieren – xAqweRx

+0

Nein, ich nehme aus dem DOM, es muss so sein. – Jennifer

0

JSON.parse analysiert die Zeichenfolge nur, sodass Sie das Objekt bereitstellen, damit das Objekt nicht analysiert wird. also wickle dein Objekt in einfache Anführungszeichen.

Ich habe das einfache Zitat in Start und zuletzt hinzugefügt. Jetzt können Sie überprüfen. es wird Array zurückgeben.

JSON.parse ('{"1": {"11": {"cityid": 1, "bpid": 11, "Name": "Golden Mile Tower", "Zeit": "+ 00: 00 "," sbpid ": 50043}}," 2 ": {" 34 ": {" cityid ": 2," bpid ": 34," Name ":" KL Sentral "," Zeit ":" + 00: 00 "," sbpid ": 50040}}," 8 ": {" 244 ": {" cityid ": 8," bpid ": 244," Name ":" Taman Sri Puteri "," Zeit ":" + 00 : 00 "," sbpid ": 50042}}} ');