Обработка массива.
Вечер добрый.После обработки аякс запроса на выходе имею примерно такое.
["{\"id\":\"14\"}","{\"rows\":\"8\",\"min_left\":\"1\",\"max_right\":\"16\"}","{\"id\":\"6\",\"NSRight\":\"12\",\"NSLeft\":\"2\"}","{\"id\":\"12\",\"NSRight\":\"6\",\"NSLeft\":\"4\"}","{\"id\":\"14\",\"NSRight\":\"8\",\"NSLeft\":\"8\"}","{\"id\":\"12\"}","{\"id\":\"14\"}","{\"id\":\"6\",\"rep\":\"48\",\"max_right\":\"16\"}","{\"id\":\"11\",\"rep\":\"48\",\"max_right\":\"16\"}","{\"id\":\"12\",\"rep\":\"48\",\"max_right\":\"16\"}","{\"id\":\"15\",\"rep\":\"48\",\"max_right\":\"16\"}"] Примерно, потому, что кол-во ключей может меняться.Теперь мне нужно прокрутить это дело в цикле получая id.А для этого мне нужна, в данном случае rows:8 и она под ключом [1]. Но ключ постоянно меняется. Как я могу получить значение rows не зная ключа? |
ureech,
бред какой-то ... идите циклом по массиву и проверяйте наличие rows, причём тут id? |
Ну во первых вы получаете на выходе хрень. Используйте человеческий json и никаких подобных проблем не будет.
|
Цитата:
var data = '[{"id":"14"},{"rows":"8","min_left":"1","max_right":"16"},{"id":"6","NSRight":"12","NSLeft":"2"},{"id":"12","NSRight":"6","NSLeft":"4"},{"id":"14","NSRight":"8","NSLeft":"8"},{"id":"12"},{"id":"14"},{"id":"6","rep":"48","max_right":"16"},{"id":"11","rep":"48","max_right":"16"},{"id":"12","rep":"48","max_right":"16"},{"id":"15","rep":"48","max_right":"16"}]'; function foo(json, key) { var value; JSON.parse(json).some(function(obj, i) { return obj[key] != void 0 ? (value = obj[key], true) : false }); return value }; alert(foo(data,'rows') ); |
Цитата:
Цитата:
Спасибо за помощь. |
Часовой пояс GMT +3, время: 22:14. |