JSON основы вопросы
Начал пробовать JSON, даже не знаю как узнать длину , т.е.
var city = { "Москва": { x:250, y:50, wayToCity:["Волгоград"] }, "Волгоград": { x:300, y:600, wayToCity:["Москва"] } }; Как вот можно узнать количество городов? length не работает. Пробовал сделать так //Добавление методов, в объект Object Object.prototype.length = function() {//Длина объекта, проверяет только строковые константы //Надо разобраться как работать c JSON данными var i=0; var name; for(name in this) { i++; } return i; }; Он мне возвращает 3, при выводе name печатает Москва, Волгоград, length. Можно как то по нормальному? |
Не пихайте length в Object.prototype.
А вообще, если вам нужно количество, то массив делайте, а не объект. |
hasOwnProperty
//Добавление методов, в объект Object Object.prototype.length = function(){ var i=0, name; for(name in this) if(this.hasOwnProperty(name)) i++; return i; }; |
B@rmaley.e><e, не учите плохому.
mycoding, Вам Kolyaj все правильно сказал – с чего Вы взяли, что JSON – это обязательно объект? Используйте массив, и проблема решена. |
Цитата:
|
А зачем вообще JSON нужен, просто как то поработал с массивами, затрудняет понимание, а с объектом как то попроще, лично для меня(В плане понимания кода).
|
mycoding,
а зачем вы обычные объекты и массивы JSON-ом называете? |
mycoding, а какая разница? Оо. JSON - это формат передачи данных, не более того. Передали массив - ок, пользуемся. Передали объект - тоже норм, пользуемся. И нужен он именно для этого - для передачи данных
|
В Chrome 5 уже можно так:
alert(Object.keys({a: 1, b: 2, c: 3}).length)Это из ECMAScript 5 вроде. |
И ещё вопрос, а можно ли как то с google map , получить координаты
городов? |
Часовой пояс GMT +3, время: 01:54. |