Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > экранировать, валидность/распарсить Json jquery


Автор: gcc 14.4.2010, 12:03
фреймворк отвичтает:

Код

add "unexpected end of string while parsing JSON string, at character offset 562 (before "(end of string)") at /home



иногда когда передается текст, выводиться такая ошибка, тогда когда json пытается распарсить текст

с кодировкой и с текстом все нормально...

я так понимаю что тут символы в тексте которые мешают распарсить... 
казалось бы элементарный текст:
Код

;oo;o


(если вставить обычный большой текст с формы с русскмими буквами, то все передается нормально)

тут я не увидел пободного ничего http://search.cpan.org/~makamaka/JSON-2.21/lib/JSON.pm#from_json b в гугле не нашел как это решить http://www.google.com.ua/#hl=uk&q=unexpected+end+of+string+while+parsing+JSON+string,+at+character+offset++(before+%22(end+of+string)&start=10&sa=N&fp=a1e4a221592c4a20

можно ли это кавычки заэкранировать на js? или что с этим делать?

Автор: gcc 14.4.2010, 19:15
а скажите из-за чего такая ошибка, ни у кого такого не было?

если написать так и отправить эти данные с textarea или с input:
Код
  ;oo;o   
 

то ошибка эта, я так понял что ругается на кавычки?

Код
 add "unexpected end of string while parsing JSON string, at character offset 562 (before "(end of string)") at /home 



если так:
то ошибки нету
Код
  ooo   
 

всё...



часть HTML:
Код
 
....
    <script type="text/javascript" src="/dev/jquery-1.3.2.js"></script> 

<script type="text/javascript" src="/latest/jquery.json-2.2.js"></script>
....

        var formData = {
             "id_last":$("#last_id").html()
           , "array_new":array
                                                          
        };

        
        $.ajax({
      type: "POST",

      url: "/chat/load/1",
      data:'jsonData=' + $.toJSON(formData),
......
 

что еще?

Автор: patap 15.4.2010, 15:09
так может все дело не в кавычках, а в точке с запятой ; ?

Автор: gcc 15.4.2010, 15:39
сори, да, в запятой

я вот нашел аналогичную тему http://community.livejournal.com/ru_perl/345451.html
(там ошибка такая, то проблема другая)

там написано, что ключи должны быть строками,  тоже

Код
 {0: "bla-bla", 23: "bla"} 

Код
 {"0": "bla-bla", "23": "bla"} 


но что-то я не могу понять как мне тут сделать? (или может проболема вообще не в этом...)
Код
        var formData = {
             "text": +"+ $("input#text").val() + " 
                                                          
        };

...так и аналогично не работает вообще...

просто я текст раньше в json с форм не передавал раньше, не видел смысла, сейчас сделал, но не знал что будет геморой такой...


===


Код
  ;oo;o 
 это не json, это то что ввести в поле textarea или с input
а потом  $.toJSON(formData) это запакует


вот в отладке в фрейворке

Код

info] *** Request 846 (0.257/s) [62425] [Thu Apr 15 08:59:05 2010] ***
[debug] Body Parameters are:
.-------------------------------------+--------------------------------------.
| Parameter                           | Value                                |
+-------------------------------------+--------------------------------------+
| jsonData                            | {"text":"������������������"}        |
'-------------------------------------+--------------------------------------'
[debug] "POST" request for "chat/add/1" from "127.0.0.1"
[debug] Found sessionid "1d490742d9bad03df7ed1c8b31baca40dfd26dc7" in cookie
[debug] Restored session "1d490742d9bad03df7ed1c8b31baca40dfd26dc7"
[debug] Path is "chat/add"
[debug] Arguments are "1"
[info] Request took 0.350099s (2.856/s)
.------------------------------------------------------------+-----------.
| Action                                                     | Time      |
+------------------------------------------------------------+-----------+
| /begin                                                     | 0.006399s |
| /auto                                                      | 0.000740s |
| /chat/add                                                  | 0.286340s |
|  -> /friends/found_friends                                 | 0.003768s |
|  -> /chat/count_add                                        | 0.019538s |
|  -> /comments_api/off_json                                 | 0.003737s |
| /end                                                       | 0.001017s |
'------------------------------------------------------------+-----------'

[info] *** Request 847 (0.258/s) [62425] [Thu Apr 15 08:59:05 2010] ***
 


я передаю text, значение ������������������ с ним все номрально!

а вот я вставил 
Код
dfgdfgdfg;
 в textarea

получается такая фигня:
(Json где-то оборвался, получается??)
Код

[info] *** Request 858 (0.252/s) [62425] [Thu Apr 15 09:00:59 2010] ***
[debug] Body Parameters are:
.-------------------------------------+--------------------------------------.
| Parameter                           | Value                                |
+-------------------------------------+--------------------------------------+
| jsonData                            | {"text":"dfgdfgdfg                   |
'-------------------------------------+--------------------------------------'
[debug] "POST" request for "chat/add/1" from "127.0.0.1"
[debug] Found sessionid "1d490742d9bad03df7ed1c8b31baca40dfd26dc7" in cookie
[debug] Restored session "1d490742d9bad03df7ed1c8b31baca40dfd26dc7"
[debug] Path is "chat/add"
[debug] Arguments are "1"
[error] Caught exception in MyApp::Controller::chat->add "unexpected end of string while parsing JSON string,
 at character offset 18 (before "(end of string)") at /home/x0/data4/MyApp/script/../lib/MyApp/Controller/chat.pm line 48"
[info] Request took 0.141275s (7.078/s)
.------------------------------------------------------------+-----------.
| Action                                                     | Time      |
+------------------------------------------------------------+-----------+
| /begin                                                     | 0.006554s |
| /auto                                                      | 0.000691s |
| /chat/add                                                  | 0.007087s |
| /end                                                       | 0.000865s |
'------------------------------------------------------------+-----------'

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