Domanda

per il dibattito in questo post: JSON-conversione-in-javascript

È stato utile?

Soluzione

Sì, un array è legale come top-level JSON-testo.

Ci sono tre documenti standard che definiscono JSON: RFC 4627 , RFC 7159 (che obsoletes RFC 4627), e ECMA-404 . Essi differiscono in cui gli elementi di livello alto si permettono, ma tutte permettono un oggetto o un array come elemento di livello superiore.

  • RFC 4627:. Oggetto o array
    "Un testo JSON è un oggetto o un array serializzato"
  • RFC 7159:. Qualsiasi valore JSON
    "Un testo JSON è un valore serializzato"
  • ECMA-404: Qualsiasi valore JSON
    "testo Un JSON è una sequenza di token formati da punti di codice Unicode conforme al valore di JSON. grammatica. "

Altri suggerimenti

, ma si dovrebbe considerare la radice di un oggetto invece in alcuni scenari, a causa di JSON hijacking . Si tratta di una vulnerabilità di divulgazione di informazioni sulla base di override del costruttore di array in JavaScript.

Questa è dalle specifiche ECMAScript.

JSONText :
    JSONValue

JSONValue :
    JSONNullLiteral 
    JSONBooleanLiteral 
    JSONObject 
    JSONArray 
    JSONString 
    JSONNumber

Sì, provare qui.

http://www.jsonlint.com/

e mettere in [{}]

C'è una certa confusione, visto negli altri commenti. Il tipo "application / json" media consente solo oggetto o un array in alto livello per JSON-text, per JSON RFC . Tuttavia, per un qualsiasi valore parser JSON è accettabile, come si vede nella specifica ECMAScript.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top