|
JavaScript / HTML Создание динамической разметки страниц |
20.06.2012, 10:25
|
#1
|
ПроЭктировщик
Регистрация: 07.06.2010
Сообщений: 105
Написано 5 полезных сообщений (для 13 пользователей)
|
JSON
Ребята подскажите как в самом javascript-е динамически создать JSON и динамически же его изменять. добавлять еще объекты, убивать объекты и т.д. а точнее создать его из других JSON объектов
__________________
Юзаю Ubuntu, Юзаю Mac
|
(Offline)
|
|
20.06.2012, 14:03
|
#2
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: JSON
var obj = { id:10, title:"Hello" }; obj.lat = 43.00203232; console.log(JSON.stringify(obj));
var beta = JSON.parse(JSON.stringify(obj)); beta.id = 11; console.log(JSON.stringify(beta));
С клонированием я так, на вскидку, есть лучше методы с сохранением ссылок и т.п.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
22.06.2012, 11:42
|
#3
|
ПроЭктировщик
Регистрация: 07.06.2010
Сообщений: 105
Написано 5 полезных сообщений (для 13 пользователей)
|
Ответ: JSON
А кто подскажет как получить массив имен объектов из к примеру такого объекта:
>Object
>31: Object
>32: Object
>33: Object
obj={
"31": "тыдым",
"32": "тырым",
"33": "пыбым",
}
дабы потом к ним обращаться. т.к. в своем коде мы не знаем как могут называться эти объекты
__________________
Юзаю Ubuntu, Юзаю Mac
|
(Offline)
|
|
22.06.2012, 12:29
|
#4
|
ПроЭктировщик
Регистрация: 07.06.2010
Сообщений: 105
Написано 5 полезных сообщений (для 13 пользователей)
|
Джейсон
понял
var b=[],i=0;
for(obj2 in obj)
{b[i]=obj2; i++ }
__________________
Юзаю Ubuntu, Юзаю Mac
|
(Offline)
|
|
22.06.2012, 13:50
|
#5
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: JSON
Зачем тебе массив?
var obj = { "31": "тыдым" , "32": "тырым" , "33": "пыбым" }
Вот это выше, не массив, а объект с key<>value записями.
Тебе нужно перевезти это в массив, или просто пробежаться по всем парам?
Просто занести в массив - я бы не советовал, т.к. key часто имеет важное значение, например я часто его использую в виде ID, т.к. он уникальный. Получается хэшь таблица с индексированным ID доступом к объектам.
Чтобы пробежаться по всем парам:
for(var i in obj) { console.log('key: ' + i + ', value: ' + obj[i]); }
Но если тебе не нужен key вообще, почему тогда не создать сразу массив?
var obj = [ "тыдым" , "тырым" , "пыбым" ]
Пробегать по ним точно также, где i будет индексом в массиве.
|
(Offline)
|
|
16.07.2012, 11:36
|
#6
|
ПроЭктировщик
Регистрация: 07.06.2010
Сообщений: 105
Написано 5 полезных сообщений (для 13 пользователей)
|
Джейсон
Ребята, уже два часа утюжу гугл в поисках ответа на вопрос: ЧТО НЕЛЬЗЯ ПИСАТЬ В СТРОКЕ JSON.
Текущая проблема такая в json строке у меня : (двоеточие)
и как решить эту проблему если оно означает не что иное как время (hh:mm)
подскажите как это решить?
__________________
Юзаю Ubuntu, Юзаю Mac
|
(Offline)
|
|
16.07.2012, 12:37
|
#7
|
|
Ответ: JSON
NetBuilding
видимо парсер json-а очень кривой, ибо должен парсить
попробуй вместо ':' вставить '\u003a'
|
|
|
Сообщение было полезно следующим пользователям:
|
|
13.08.2012, 09:27
|
#8
|
ПроЭктировщик
Регистрация: 07.06.2010
Сообщений: 105
Написано 5 полезных сообщений (для 13 пользователей)
|
Ответ: JSON
Вот такой вопрос.
Есть два обьекта.
var a = [{"id":0},{"id":1},{"id":2},{"id":3},{"id":4},{"id":5},{"id":6},{"id":8},{"id":10},{"id":13},{"id":14},{"id":15},{"id":18},{"id":27},{"id":30},{"id":31},{"id":32},{"id":33},{"id":34},{"id":35},{"id":37},{"id":101},{"id":102},{"id":103},{"id":104},{"id":105},{"id":106},{"id":107},{"id":108},{"id":109},{"id":110},{"id":111},{"id":112},{"id":113},{"id":114},{"id":115},{"id":116},{"id":117},{"id":119},{"id":120},{"id":121},{"id":122},{"id":123},{"id":124},{"id":125},{"id":126},{"id":127},{"id":128},{"id":129},{"id":130}] var b = [{"id":0},{"id":1},{"id":2},{"id":3},{"id":4},{"id":5},{"id":6},{"id":8},{"id":10},{"id":13},{"id":14},{"id":15},{"id":18},{"id":27},{"id":30},{"id":31},{"id":32},{"id":33},{"id":34},{"id":35},{"id":37},{"id":201},{"id":202},{"id":203},{"id":204},{"id":205},{"id":206},{"id":207},{"id":208},{"id":209},{"id":213},{"id":214},{"id":215},{"id":216},{"id":217},{"id":218},{"id":219},{"id":220},{"id":221},{"id":222},{"id":223},{"id":226},{"id":227},{"id":228},{"id":230},{"id":232},{"id":233},{"id":234},{"id":235},{"id":236},{"id":237},{"id":238},{"id":239},{"id":242}]
как максимально быстро подсчитать количество уникальных id. у обоих массив-обьектов вместе.
т.е. типа (a+b).lenght
или $.extend(a,b).lenght
че-нибудь такое
не прогонять же все в цикле.
__________________
Юзаю Ubuntu, Юзаю Mac
|
(Offline)
|
|
13.08.2012, 14:38
|
#9
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: JSON
В данном случае у тебя два простых массива с объектами внутри.
Учитывай что ты делаешь НЕ хэшь таблицу.
Чтобы подсчитать общее колличество, просто пиши:
http://jsfiddle.net/KyQYd/
А если будешь использовать хэшь таблицу, то будет иначе.
В случае с хэшь таблицей, можешь использовать ES5 совместимую фичу:
Object.keys(a).length + Object.keys(b).length
Учитывай что это будет работать только в IE9+, FF 4+, Safari 5+, Chrom, Node.js
Если нужна более широкая поддержка, то делай циклами подсчёт.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 00:35.
|