• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[GELÖST] Fehler in JSON-Datei

huberlix

New member
Dreamweaver markiert mir die zweite Zeile meines JSON rot.
Weiß einer warum?
Code:
{
  {"Peter" :{"Franz":"-1,00","Horst":"+4,00"}},
  {"Franz" :{"Peter":"+1,00","Horst":"-7,00"}},
  {"Horst" :{"Peter":"-4,00","Franz":"+7,00"}}
}

komischerweise scheint der Code OK, mit Array-Klammern:
Code:
[
  {"Peter" :{"Franz":"-1,00","Horst":"+4,00"}},
  {"Franz" :{"Peter":"+1,00","Horst":"-7,00"}},
  {"Horst" :{"Peter":"-4,00","Franz":"+7,00"}}
]

Dann kann ich mit data[0].Peter.Franz auf die "-1,00" zugreifen.
Ich will aber den Index weghaben: data.Peter.Franz

Was ist da falsch?
 
Zuletzt bearbeitet von einem Moderator:
Code:
{
  "Peter" :{"Franz":"-1,00","Horst":"+4,00"},
  "Franz" :{"Peter":"+1,00","Horst":"-7,00"},
  "Horst" :{"Peter":"-4,00","Franz":"+7,00"}
}

- - - Aktualisiert - - -

PS: willst du die Zahlen wirklich als String speichern? Warum nimmst du keine Zahl (am besten in Cent, damit du kein Problem mit den Fließkommazahlen bekommst)?
 
Ein Array [] beinhaltet den Inhalt in geordneter Folge, ohne dass man die Position angeben muss. Ein Objekt {} benötigt einen Namen, unter dem das Objekt gespeichert werden muss.
[0,1,2,3,4] ist erlaubt, {0,1,2,3,4} nicht, da man beim Objekt den Namen, unter dem der Inhalt gespeichert wird, angeben muss. {"name":"inhalt","name2":"inhalt2"} ist erlaubt.
Der Inhalt kann ebenfalls ein Objekt sein, so wie in deinem zweiten Code.
Möchstest du das nicht, musst du Namen für die einzelnen Objekte vergeben. Dies ist z.B. so möglich:
Code:
//MÖGLICHKEIT 1 (siehe kkapsners Antwort)
{
  "Peter" :{"Franz":"-1,00","Horst":"+4,00"},
  "Franz" :{"Peter":"+1,00","Horst":"-7,00"},
  "Horst" :{"Peter":"-4,00","Franz":"+7,00"}
}
//MÖGLICHKEIT 2
{
  "name1":{"Peter" :{"Franz":"-1,00","Horst":"+4,00"}},
  "name2":{"Franz" :{"Peter":"+1,00","Horst":"-7,00"}},
  "name3":{"Horst" :{"Peter":"-4,00","Franz":"+7,00"}}
}
 
PS: willst du die Zahlen wirklich als String speichern? Warum nimmst du keine Zahl (am besten in Cent, damit du kein Problem mit den Fließkommazahlen bekommst)?

Ich dachte JSON kann nur Strings? Hab aber in letzter Zeit so viel gelesen, dass ich da vielleicht auch was durcheinanderwerfe. Werd mal rumexperimentieren.

@beide: Danke, werds die Tage mal ausprobieren.
 
OK. Mal schaun.. Da ich auch localstorage benutze hab ich eh strings. Mal schaun, was besser ist.

- - - Aktualisiert - - -

Beide Methoden funktionieren leider nicht.
2. Zeile wird rot markiert.

- - - Aktualisiert - - -

Hmm, funktioniert doch.
Obwohl rot markiert, kann ich mit alert(daten.Peter.Franz); den Wert abrufen.....:confused: (Methode 1)
 
Zuletzt bearbeitet:
Zurück
Oben