Dire che ho un array come questo: {Id, valore}
Questo non è un array. Questo è un oggetto. È possibile più copie di quelle di un array:
[
{"foo": "bar"},
{"foo": "baz"},
{"foo": "boom"}
]
Questa è una stringa valida JSON per un array contenente oggetti — in questo caso, gli oggetti con una singola proprietà, foo
, ognuno dei quali ha un proprio valore, ma gli oggetti non devono avere le stesse proprietà e possono avere più proprietà. Per esempio:
[
{},
["zero", "one", "two", "three"],
"I'm just a string",
{
"f0": "foo zero",
"f1": "foo one",
"f2": "foo two",
"all": ["foo zero", "foo one", "foo two"]
},
42
]
Questa è una stringa JSON valido per un array con cinque voci:
- Un oggetto senza proprietà (ad esempio, un oggetto "vuoto").
- Un array con quattro voci.
- Una stringa.
- Un oggetto con quattro proprietà:
f0
, f1
, f2
e all
. f0
, f1
e f2
hanno tutti valori stringa; all
ha un array di stringhe come valore.
- The answer alla vita, l'universo e tutto.
È possibile trasformare un oggetto o un array in una stringa JSON valida (stringify) e invertire il processo (analisi) lato client utilizzando una qualsiasi delle varie librerie. Crockford (l'inventore di JSON) ne ha diversi su his github page, in particolare json2.js sebbene json2.js si affidi a eval
per l'analisi; Dal momento che non è proprio l'ideale, è possibile utilizzare json_parse.js
(un parser di discesa ricorsivo che non utilizza eval
) o json_parse_state.js
(una macchina a stati che non utilizza eval
).
fonte
2011-01-16 21:29:52
Tieni presente che puoi archiviare solo fino a 4KB per cookie. Inoltre, tieni presente che più i cookie sono grandi, maggiore è il numero di dati che il client deve inviare durante l'esecuzione delle richieste. –