Скажем, у меня есть такой массив: {Id, Value}
Это не массив. Это объект. Вы можете сделать несколько копий в массиве:
[
{"foo": "bar"},
{"foo": "baz"},
{"foo": "boom"}
]
Это допустимая JSON строка для массива, содержащего объекты & mdash; в этом случае объекты с одним свойством foo
, каждое из которых имеет свое значение, но объекты не имеют иметь одинаковые свойства, и они могут иметь несколько свойств. Например:
[
{},
["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
]
Это допустимая строка JSON для массива с пятью записями:
- Объект без свойств (например, «пустой» объект).
- Массив с четырьмя записями.
- Строка.
- Объект с четырьмя свойствами:
f0
, f1
, f2
и all
. f0
, f1
и f2
имеют строковые значения; all
имеет массив строк в качестве значения.
- Ответ на Жизнь, Вселенную и Все.
Вы можете превратить объект или массив в допустимую строку JSON (stringify) и обратить процесс (синтаксический анализ) на стороне клиента, используя любую из нескольких библиотек. У Крокфорда (изобретателя JSON) есть несколько на его странице github , в первую очередь json2.js, хотя json2.js использует eval
для анализа; поскольку это не совсем идеально, вы можете вместо этого использовать json_parse.js
(анализатор рекурсивного спуска, который не использует eval
) или json_parse_state.js
(конечный автомат, который не использует eval
).