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, время: 03:02. |