Я удивлен json.length
возвращает что-нибудь; эта строка JSON недопустима. Внешние фигурные скобки ({}
) обозначают объект, который должен содержать ключи и значения, но он просто содержит значение (массив без ключа).
Если вы удалите фигурные скобки, он должен работать правильно. Вы положили их туда, возможно, потому что видели, как это было сделано? Если это так, вам нужны скобки (()
), а не фигурные скобки.
Обратите внимание, что использование eval
в строках JSON небезопасно, вы хотите использовать JSON-декодер, который не использует eval
(например, json2.js , который использует eval
, но только после очень тщательного обеспечения того, чтобы это было безопасно сделать, модифицируя его при необходимости), для оптимальной безопасности. Скобки помогают, но они не являются полным решением.