Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > вывести сохраненные данные


Автор: Samotnik 7.3.2008, 12:52
Значит есть    .js  файл   он посылает данные  на сервер   .java  файл  
Код

com_prototype.getFiles = function() {
        var elements = this.parentNode.childNodes[0].rows[0].cells[0].childNodes[0].childNodes[0];
        var files = [];
        for (var i = 0 ; i < elements.rows.length; i++) {
          files[i] = {'fileID': elements.rows[i].fileId, 'fileDes':elements.rows[i].description};
            }
        return files;

На сервере я его принимаю 
Код

JSONArray a = js.getJSONArray("files");
for (int j = 0; j < a.length(); j++) {
      JSONObject obj = a.getJSONObject(j);
      String sFid = obj.getString("fileID");
      String sDesc = obj.getString("fileDes");
      dao.addModuleDataRecord(moduleId, "file",  sFid + "=" + sDesc);
}

там  данные сохраняются в  базе,   затем мне их нужно получить, обратно в файле  .js
Код

 if (conf)  // conf -  это   пришедший результат
{
        for(var t in conf.files) {
            var fi = sfSystem.storage.findById(this.conf.files[t]);
            this.addFile(this.conf.files[t], fi.path, fi);
        }
        this.mode = conf.mode;
    }

Вот, проблема в том, что я  не знаю как распарсить данные,  т.е.   отделить их  от  знака  "="   и записать их в различные ячейки  таблицы  ??

Автор: v2v 7.3.2008, 22:56
какое парсить? какое разделять ?smile Это же json : ява скрипт обджект оно так специально собрано что бы легко было на клиенте формировать странички smile.
почитай про него 
http://www.ajaxprojects.com/ajax/tutorialdetails.php?itemid=11
http://www.dynamicajax.com/fr/JSON_AJAX_Web_Chat-271_290_324.html

Автор: Samotnik 8.3.2008, 13:00
v2v, ок пасібо !! 

Автор: Samotnik 10.3.2008, 19:35
v2v,  порчитал, порбывал не получилось  smile 
Я так и не понял, если на клиент (js  файл )  пришли 2 значения,  через  =  то как мне их отделить друг от друга.
Т.е.   к примеру, ко мне пришло :
21="Hello"
22="Super"
40="Mouse"
 
То как мне на  js выбрать все значения по id  и  по   description  ?? 
Код я уже приводил  выше ! 

Автор: ivg 11.3.2008, 11:36
Цитата(Samotnik @  10.3.2008,  19:35 Найти цитируемый пост)
Я так и не понял, если на клиент (js  файл )  пришли 2 значения,  через  =  то как мне их отделить друг от друга.

Ничего отделять и парсить не надо. Как я понимаю, это штука специально в таком формате приходит, чтобы через eval() (JavaScript) исполнить это как часть кода. И тогда, чтобы получить значение, надо просто обратиться к соответствующей переменной.
Например приходит
Код

{1, 2, 3, 4}

В коде
Код

var myarray, i;
eval('myarray = ' + '{1, 2, 3, 4}');
i = myarray[0];

Вот как то так. Мог где нить ошибиться, но общий смысл примерно такой.

Автор: v2v 11.3.2008, 11:55
всё верно , делаешь eval и получаешь масив, либо масив масивов либо и т.д. ,  всё зависит от того, какую структуру ты передавал с сервера.

Автор: Samotnik 12.3.2008, 19:00
Да нет  же !! 
Я ведь сам вручную этот разделитель  =  пихаю !!  просто мне нужно отделить  айдишник и описание !!! 
А теперь мне это наоборот нужно разделить!!!  
Отдельно айдишники, отедльно описание

Добавлено через 12 минут и 28 секунд
Цитата(ivg @  11.3.2008,  11:36 Найти цитируемый пост)
Например приходиткод Javascript1:{1, 2, 3, 4}

Так  не может прийти в принципе !!
Я ведь вам говорю, я  все записываю таким образом :
1=Hello
2=PREVED
3=MEDVED
Мне нужно это принять (я уже принял)  и нужно  распарсить, т.е.  отделить  цифры  от чисел.  т.е. мухо отдельно, катлеты  отдельно, т.е.   нужно как то  считать  до  =    записать, далее  считать после равно и опять записать!!
А у  JSON   есть конечно  свой формат, но он другой, примерно такой  
для  JSONObject
{"String":value, "String2":value2,  ....}

Автор: serger 13.3.2008, 06:33
StringTokenizer

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)