|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] Структура данных для JavaScript |
|
[решено] Структура данных для JavaScript
|
Кот Ти Сообщения: 7318 |
Есть, скажем, такой XML-документ:
Данный файл будет подгружаться с помощью XMLHttpRequest или, м.б., JsHttpRequest. Но вот как его разобрать на переменные? Нужно получить что-то вроде этого: field["width"] = 5; field["height"] = 2; cell[0][0]["type"] = "gray"; cell[0][0]["content"] = ""; cell[0][1]["type"] = "gray"; cell[0][1]["content"] = "some text"; и т.д. (хотя, я ещё и не знаю, как массивы в JavaScript выглядят) Хотелось бы посмотреть рабочий JS или ссылку на материал, где описывается XML-парсер JS на русском. Даже не знаю с чего начать искать. Запросы в Гугл вида "Обработка XML средствами JavaScript" выводят один сплошной AJAX =( |
|
Отправлено: 14:52, 10-08-2007 |
![]() Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать Coutty,
Надо просто правильные слова в поиск вводить ![]() Пример Ещё один Но я бы всё таки предподчёл парсить на стороне сервера, так как разные браузеры по разному парсят XML (то есть разные объекты для это предоставляют) Лучше воспользоваться аяксом и возвращать JSON Хотя если поискать - возможно есть почти идеальная библиотечка, чтобы парсить на стороне клиента Цитата Coutty:
|
|
------- Отправлено: 15:29, 10-08-2007 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Кот Ти Сообщения: 7318
|
Профиль | Отправить PM | Цитировать Цитата vadimiron:
Сейчас проект ещё только в самом начале пути. Но только я не сталкивался с этим форматом. Как эту структуру вообще использовать? Например, в Википедии такой образец:
Это ж как тогда будет выглядеть, если использовать данные подобно моему XML? { "settings": { "field": { "width": 5, "height": 2 } }, "line": [ { "num": 0, "cols": [ { "num": 0, "type": "gray", "content": "" }, { "num": 1, "type": "gray", "content": "some text" } ... и так далее ] } ] } А потом просто вызывать имяПеременнойКоторойПрисвоилиВсюЭтуСтруктуру.line[0].cols[1].content ? И значение будет "some text"? Что-то я не особо понял из описания на их сайте json.org. |
|
Отправлено: 16:16, 10-08-2007 | #3 |
![]() Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать Coutty,
JSON - это формат для более быстрой обработки Java-Script-ом. Когда получаем данные в JSON - их достаточно обработать функцией eval и результат присвоить переменной в JavaScript. Опишите приложение, которое формирует данные: какой язык и тд. Для ПХП например, есть уже готовый класс, который из какой либо PHP-структуры создаёт JSON-данные - очень удобно |
------- Отправлено: 17:49, 10-08-2007 | #4 |
Кот Ти Сообщения: 7318
|
Профиль | Отправить PM | Цитировать Серверная часть - PHP (думаю, что без MySQL будет, но посмотрим).
Но большую часть работы будет делать JavaScript. Это возможно =^.^= будет стратегическая онлайн игрушка. XML или JSON будут описывать стуктуру поля, местонахождение объектов и пр. поклеточно. Цитата vadimiron:
![]() var cell = eval ("data/map.js"); ? В PHP эти данные использоваться вряд ли будут. А вот конвертация стуктуры PHP в JSON - вполне пригодилось бы. Как называется / где взять? |
||
Отправлено: 18:38, 10-08-2007 | #5 |
![]() Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать Цитата Coutty:
Начиная с PHP 5.2, JSON - расширение для PHP. Если расширения нет или более старая версия, то парочка в сравнении |
|
------- Отправлено: 18:48, 10-08-2007 | #6 |
Кот Ти Сообщения: 7318
|
Профиль | Отправить PM | Цитировать vadimiron, ммм... А если всё-таки без Аякса обойтись? Например, просто скрипт подключить, где будет JSON-код находиться (т.е. последовательно в html загружать скрипты - JSON, а следом - обработчик его). То как в этом случае использовать?
Цитата vadimiron:
Цитата vadimiron:
Я ещё так подумал - а откуда PHP-скрипт возьмёт данные? Это ж JS их будет генерировать на основе пользовательских действий и передавать готовый результат на сохранение... Т.ч., пожалуй, из JS придётся сочинять. Но, думаю, это несложно будет и самому сделать. Разобраться только в его структуре. А до этого ещё выяснить - как использовать JSON-данные ![]() |
||
Отправлено: 19:37, 10-08-2007 | #7 |
Кот Ти Сообщения: 7318
|
Профиль | Отправить PM | Цитировать В итоге остановился на таком решении:
Данные хранятся в JSON-формате. Для подгрузки этих данных используется объект JsHttpRequest из одноимённой библиотеки. Для конвертации JSON в JS-объект используется строка вида А для обращения к данным уже myObject.map[0][2].type и т.д. Удобно так стало без XML ![]() |
Отправлено: 17:30, 11-08-2007 | #8 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Установка - [решено] Загрузочный диск для сохранения данных с HDD | .Rock. | Microsoft Windows 2000/XP | 2 | 23-08-2009 22:23 | |
Проверка данных пользователя (PHP + JavaScript или Ajax) | darksmoke | Вебмастеру | 2 | 15-06-2009 17:28 | |
Прочие БД - Структура и организация данных в программе Crystal под DOS | MaryM | Программирование и базы данных | 0 | 30-09-2008 17:11 | |
[решено] Скрипт для корректировки данных пользователя в AD | HLT | Microsoft Windows NT/2000/2003 | 2 | 04-07-2008 10:32 | |
Delphi - *Решено* | Структура OpenFileName на Delphi | DillerInc | Программирование и базы данных | 10 | 21-08-2007 21:07 |
|