# Javascript JSON in ein Array



## Zeppi (1. Okt 2021)

Ich würde gerne ein Object in einem Array speichern per push, das Array stringify ich und schicke es vom Server per Post an den Client. Das funktioniert soweit auch. Also beim Untersuchen der HTML Seite sehe ich ein Array, indem mein übergebenes Object drin ist. Danach hole ich mir den Inhalt des Hidden Input Fields per`var json = JSON.parse(request.body.id)`, das klappt auch. Aber jetzt kann ich zum Beispiel mit`console.log(json.a)` nicht auf auf den Inhalt zugreifen, ich bekomme dann nur undefined zurück, aber wenn ich nur `console.log(json) //[{a:1}]` bekomme ich den komplette Inhalt zurück. Außerdem würde ich danach gerne das Array erneut füllen mit zwei Objects. Und zwar einmal das Object, welches ich geparst habe und wieder neue Eingaben(siehe code). Anscheinend verstehe ich nicht wirklich wie ich ein Array mit Objects aufbauen soll, aber ich finde auch nicht wirklich etwas dazu.

Wieso ich Hidden Input Fields benutze und weshalb ich ein Array darin speichern soll, liegt an der Aufgabe.

```
var array = [];
var json = JSON.parse(request.body.id);
array.push(json)
var data = {
    a: 1,
    b: 2,
    c: 3
}
array.push(data)
var senden = JSON.stringify(array)
//resonse.send(senden) und so weiter....


/*
Jetzt bekomme ich aber eine komische Struktur, die nicht wirklich einem Array mit Objekten ähnelt:
[ { a: 1, b: 1, c: 0.05 } ]
[
  [ { a: 1, b: 1, c: 0.05 } ],
  { a: 1, b: 1, c: 1 }
]
*/
```


----------



## Oneixee5 (2. Okt 2021)

Elemente eines Arrays werden über den Index adressiert. Das erste Element wäre demnach `array[0]`. Wenn das erste Element ein Objekt enthält, dann erfolgt der Zugriff auf a wie folgt: `array[0].a`.

```
var arr = ['Das erste Element', 'Das zweite Element', 'Das letzte Element'];
console.log(arr[0]);              // Ausgabe: 'Das erste Element'
console.log(arr[1]);              // Ausgabe: 'Das zweite Element'
console.log(arr[arr.length - 1]); // Ausgabe: 'Das letzte Element'
```


----------

