2016-04-18 6 views
-1

ich nicht herausfinden kann, was ich falsch gemacht, wenn dieses JSON-Objekt zugreifen:Zugriff auf bestimmte Werte in JSON-Objekt

{ Items: 
    [ { mId: 'who' }, 
    { mId: 'am' }, 
    { mId: 'I' } ], 
    Count: 3, 
    ScannedCount: 3 } 
{ Items: 
    [ { cId: 'big' }, 
    { cId: 'scary' }, 
    { cId: 'muppet' } ], 
    Count: 3, 
    ScannedCount: 3 } 

Dies ist das Objekt Ich bin immer wieder von einer Funktion und ich versuche, um auf die einzelnen Elemente zuzugreifen, um ihre Werte zu aktualisieren.

Wenn ich drucken möchten ‚die‘ zum Beispiel, ich dies tun:

console.log(obj.Items[0].mId) 

Jetzt erwarten, ich ‚die‘ zurück, aber das ist, was druckt:

undefined 
who 

That 'undefined' markiert immer mit. Was mache ich hier falsch?

Auch, wenn ich versuche, irgendwo den Wert zu ändern, indem Sie:

obj.Items[0].mId = 'x' 

Dies geschieht:

{ Items: 
    [ { mId: 'x' }, 
    { mId: 'am' }, 
    { mId: 'I' } ], 
    Count: 3, 
    ScannedCount: 3 } 
{ Items: 
    [ { cId: 'big', mId: 'x' }, 
    { cId: 'scary' }, 
    { cId: 'muppet' } ], 
    Count: 3, 
    ScannedCount: 3 } 

Das ist nicht, was ich will .. Ich verstehe nicht, wie man Zugang nur die ersten 'Items'. Es scheint, als ob ich auf beide zugreife.

Jede Hilfe oder Beratung wird sehr geschätzt. Ich muss wahrscheinlich nicht sagen, dass ich nicht sehr daran gewöhnt bin, mit JSON zu arbeiten.

+0

Wie parst du 'obj'? Wo bekommst du es hin? –

+1

überprüfen, ob es kein anderes Protokoll als 'console.log (obj.Items [0] .mId) gibt' –

+0

Könnten wir bitte den vollen Code sehen? – hudsond7

Antwort

0

Für das undefinierte Problem, sehen Sie bitte die Antwort hier: What does it mean if console.log(4) outputs undefined in Chrome Console? aber TL; DR Sie sehen nur die 'undefined' Rückkehr von console.log(), weil es keinen Rückgabewert hat. Es sollte kein Problem sein, wenn Sie nicht in der Konsole arbeiten.

Wie Sie zwei separate Objekte haben beide Obj genannt, ich verstehe nicht, wie andere in den Kommentaren, bitte posten Sie den vollen Code, damit wir sehen können, wie dies verwendet wird/generiert.

Auch zur Klarstellung sieht es so aus, als ob Sie mit JavaScript-Objekten arbeiten, nicht JSON, ähnlich aber nicht das Gleiche.