2017-11-03 1 views
-2

Ich bin nicht so in JSON Dokument und ich habe ein Problem. Ich versuche, dieses einfache JSON-Dokument mit zu validieren: https://jsonlint.com/Warum scheinen diese JSON-Dokumente ungültig zu sein?

{ 
    "forecast": [ 
     "day": [], 
     "day": [] 
    ] 
} 

Prognose ist ein Array von Meteo Vorhersage Tag ist ein Array, das einen Gegenstand in Bezug auf Morgen, Nachmittag, Abend Prognosen für ein enthalten bestimmter Tag. Ich werde es in einem zweiten Mal bereichern.

Das Problem ist, dass wenn ich versuche, dieses Dokument zu validieren ich die folgende Fehlermeldung durch den vorherigen Validator Tool zu erhalten:

Error: Parse error on line 3: 
...forecast": [  "day": [],  "day": [] ] 
----------------------^ 
Expecting 'EOF', '}', ',', ']', got ':' 

Warum? Was ist das Problem? Wie kann ich eine korrekte Struktur wie diese erstellen?

+2

Ein Array Primitiven nicht Schlüssel halten. – Adriani6

Antwort

1
"forecast": [ 
    "day": [], 
    "day": [] 
] 

die forecast Schlüssel enthält ein Objekt, kein Array, muss so sein:

"forecast": { 
    "day1": [], 
    "day2": [] 
} 

oder

"forecast": [ 
    { "day": [] }, 
    { "day": [] } 
] 
4

Ein Array [] enthält eine Liste von Werten.

Ein Satz "property": value Paare muss als Objekt {} ausgedrückt werden.

Während doppelte Objektnamen in einem Objekt (technisch) erlaubt sind, wird nur der letzte Wert akzeptiert.

Vielleicht möchten Sie ein Array von Objekten erstellen?

0

Weil "Tag" in einem Array ist, aber Sie verwenden es wie ein Objekt ("property: value" Notation). Ändern Sie die quadratischen Klammern in geschweifte Klammern oder verwenden Sie die entsprechende Array-Struktur. Macht Sinn?

-1

forecase sollte eigentlich ein Objekt sein, kein Array.

{ 
"forecast": { 
    "day": [], 
    "day": [] 
} 
} 
-1

In JSON-Dateien Array steht neue Objekte oder den Wert selfe wie: Wert-Paare:

{ 
    "forecast": [{ 
      "day": [] 
     }, 
     { 
      "day": [] 
     } 
    ] 
} 

oder

{ 
    "forecast": [ 
     ["morning", " afternoon", " night"], 
     ["morning", "afternoon", " night"] 
    ] 
} 
Verwandte Themen