2016-03-25 8 views
5

Wie greife ich auf die zweite Zahl "19" zu, die im Numbers-Array im folgenden JSON enthalten ist? Ich habe alles versucht und konnte es nicht.Zugriff auf die Werte der folgenden JSON

{ 
    "Numbers": [{ 
    "1": 6 
    }, { 
    "2": 19 
    }, { 
    "3": 34 
    }, { 
    "4": 38 
    }, { 
    "5": 70 
    }], 
    "MB": 5, 
    "MP": "05", 
    "DrawDate": "2016-03-22T00:00:00" 
} 
+1

'myVar.Numbers [1] [ '2']' –

+0

, in welcher Sprache ?? – Jois

+0

Javascript ist die Sprache – ConfusedDeer

Antwort

3

Sie es wie folgt zugreifen würde:

console.log(jsonObj.Numbers[1][2]); 

Dies setzt voraus, dass Sie speichern, dass JSON in eine Variable jsonObj genannt. Sie können Zahlen nicht als Objekteigenschaftsschlüssel verwenden, so dass Sie einfach jsonObj.Numbers[1].2 tun können.

1

Sie können darauf zugreifen mit

obj.Numbers[1][2] 

wo 1 der Index in dem Array des Objekts und 2 seine key

4

Sie können mit Zugang:

object.Numbers[1]['2'] 

Das heißt weil die Numbers Objekt ist ein Array von Schlüssel-Wert-Objekten, in denen Ihr gewünschter Wert liegt.

1

Um dies zu tun, sollten Sie es in Javascript analysieren, etwa so:

var myjson = JSON.parse('{"Numbers":[{"1":6},{"2":19},{"3":34},{"4":38},{"5":70}],"MB":5,"MP":"05","DrawDate":"2016-03-22T00:00:00"}'); 

Sobald es Sie tun können, auf den Schlüssel zuzugreifen

myjson.Numbers[1][2] 

analysiert worden ist (: 19) als Nun würden Sie tun

myjson.Numbers[1] 
1

Weisen Sie den gesamten JSON zu Var.

var obj = JSON.parse({"Numbers":[{"1":6},{"2":19},{"3":34},{"4":38},{"5":70}],"MB":5,"MP":"05","DrawDate":"2016-03-22T00:00:00"}); 



obj.Numbers[1][2] 

sollten Sie in der Lage sein, darauf zuzugreifen

+0

Sie müssen JSON.parse nicht verwenden, da es bereits JSON und keine Zeichenfolge ist. –

1

Ich denke, es ist sehr einfach:

var myVars={"Numbers":[{"1":6},{"2":19},{"3":34},{"4":38},{"5":70}],"MB":5,"MP":"05","DrawDate":"2016-03-22T00:00:00"} 

myVars.Numbers geben Ihnen: [{"1":6},{"2":19},{"3":34},{"4":38},{"5":70}] Dieses Element ist ein Array: das erste Element myVars.Numbers[0] ist {"1":6}, der zweite myVars.Numbers[1]{"2":19} ist. Finaly, myVars.Numbers[1][2] ist 19. Das heißt, wenn Sie Ihre zweite Zahl zu den acces wollen 19 Sie schreiben müssen: myVars.Numbers[1][2]

+1

Ich denke, es ist einfach, aber Rayon Dabre erwähnt, ist die eine Sache zu beachten, dass das JSON-Format kein ungültiges Zeichen unterstützt, "Eine Objekteigenschaft Name kann eine gültige JavaScript-Zeichenfolge oder alles, was konvertiert werden kann Das heißt, ein Eigenschaftsname, der kein gültiger JavaScript-Bezeichner ist (z. B. ein Eigenschaftsname mit einem Leerzeichen oder einem Bindestrich oder der mit einer Zahl beginnt), kann nur über das Quadrat erreicht werden Klammernotation Diese Notation ist auch sehr nützlich, wenn Eigenschaftsnamen dynamisch bestimmt werden sollen ... – ConfusedDeer