powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Перевод Строки
19 сообщений из 19, страница 1 из 1
Перевод Строки
    #39736235
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.

Получаю со стороны Cache' строки которые содержат
знаки "перевода строки" $C(10)
При разборе JSON получаю ошибку:
SyntaxError: JSON.parse: bad control character in string literal at line 1 column 50 of the JSON data
Как это побороть ?

Спасибо.
...
Рейтинг: 0 / 0
Перевод Строки
    #39736280
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeriuЗдравствуйте.

Получаю со стороны Cache' строки которые содержат
знаки "перевода строки" $C(10)
При разборе JSON получаю ошибку:
SyntaxError: JSON.parse: bad control character in string literal at line 1 column 50 of the JSON data
Как это побороть ?

Спасибо.
$tr(str,$с(10)) :)

В моих проектах при формировании XML или JSON всегда стоит фильтр на строки, отсекающий ненужные спецсимволы

В противном случае их надо "экранировать" http://qaru.site/questions/48475/how-to-escape-special-characters-in-building-a-json-string
...
Рейтинг: 0 / 0
Перевод Строки
    #39736400
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalin,

Я так и делаю.
$tr(str,$с(10), на что ?) , эти разрывы строк мне
нужны на стороне JS для сформирования отчета
Без них все получаются в одну длинную строку...
...
Рейтинг: 0 / 0
Перевод Строки
    #39736453
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valeriu,

Код: plaintext
$replace(str,$c(10),"\n")
...
Рейтинг: 0 / 0
Перевод Строки
    #39736487
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
USER>w $zcvt($c(10),"O","JSON")
\n
...
Рейтинг: 0 / 0
Перевод Строки
    #39736557
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMor,

Да, я так пробовал. Вот что получаю на клиенте:
Код: javascript
1.
s n=n+1,in(ip,n)=n_"~"_ann_"~"_parc_"~"_nrbord_"~"_rut_"~"_ora_"~"_$tr($p(cont,"/",1),$c(10),"\n")_"~"_$tr($p(cont,"/",2),$c(10),"\n"


Код: javascript
1.
["1","2018-11-01","1","1241","10","10.23","Test1\Test2","      "]["2","2018-11-02","2","2111","4","12.30","Test2\Test\Test3",""]["3","2018-11-03","1","1257","10","15.26","Test4\Test4\Test4\","Ura\Victory"]["4","2018-11-05","3","3749","24","6.23","Test5\Test5\",""]["5","2018-11-07","1","1241","22","12.23","e3e3e3e  "," trtrtrtr    trt "]["6","2018-11-07","3","3755","21","7.55","Notebook caracteristici (1 bucata) :\Dimensiuni ecran 17 inch\Sistem de operare Windows10x64 bit\Dimensiunea RAM DDR4 8Gb\Tip hard disk SSD-256Gb + HDD 1Tb\Tip procesor    Core i5\Keyboard Rus+Eng\WiFi\USB - 4",""]

и т д

Код: vbnet
1.
s n=n+1,in(ip,n)=n_"~"_ann_"~"_parc_"~"_nrbord_"~"_rut_"~"_ora_"~"_$tr($p(cont,"/",1),$c(10),"")_"~"_$tr($p(cont,"/",2),$c(10),"")


Если убираю просто их ($с(10)) и меняю на "пусто", тогда работает - но в одну длинную строку...
...
Рейтинг: 0 / 0
Перевод Строки
    #39736560
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.,
Я тестирую на 5.0
...
Рейтинг: 0 / 0
Перевод Строки
    #39736575
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMor,
Прошу прощения, вот масив JSON после замены $c(10) на "\n":
автор [["1","2018-11-02","2","2111","4","12.30","Test2\Test\Test3",""],["2","2018-11-03","1","1257","10","15.26","Test4\Test4\Test4\","Ura\Victory"],["3","2018-11-05","3","3749","24","6.23","Test5\Test5\",""],["4","2018-11-07","1","1241","22","12.23","e3e3e3e "," trtrtrtr trt "],["5","2018-11-07","3","3755","21","7.55","Notebook caracteristici (1 bucata) :\Dimensiuni ecran 17 inch\Sistem de operare Windows10x64 bit\Dimensiunea RAM DDR4 8Gb\Tip hard disk SSD-256Gb + HDD 1Tb\Tip procesor Core i5\Keyboard Rus+Eng\WiFi\USB - 4",""],["6","2018-11-08","2","2108","17","21.23","Notebook caracteristici (1 bucata) :\Dimensiuni ecran 17 inch\Sistem de operare Windows10x64 bit\Dimensiunea RAM DDR4 8Gb\Tip hard disk SSD-256Gb + HDD 1Tb\Tip procesor Core i5\Keyboard Rus+Eng\WiFi\USB - 4","Notebook caracteristici (1 bucata) :\Dimensiuni ecran 17 inch\Sistem de operare Windows10x64 bit\Dimensiunea RAM DDR4 8Gb\Tip hard disk SSD-256Gb + HDD 1Tb\Tip procesor Core i5\Keyboard Rus+Eng\WiFi\USB - 4"],["7","2018-11-09","1","1216","3","15.23","Notebook caracteristici (1 bucata) :\Dimensiuni ecran 17 inch\Sistem de operare Windows10x64 bit\Dimensiunea RAM DDR4 8Gb\Tip hard disk SSD-256Gb + HDD 1Tb\Tip procesor Core i5\Keyboard Rus+Eng\WiFi\USB - 4\\Notebook caracteristici (3 bucati) :\Dimensiuni ecran 15 inci\Sistem de operare Windows10x32 bit\Dimensiunea RAM DDR4 4Gb\Tip hard disk SSD 120Gb + HDD 500 Gb\Tip procesor Core i5\Keyboard Rus+Eng\WiFi\USB - 4","Notebook caracteristici (1 bucata) :\Dimensiuni ecran 17 inch\Sistem de operare Windows10x64 bit\Dimensiunea RAM DDR4 8Gb\Tip hard disk SSD-256Gb + HDD 1Tb\Tip procesor Core i5\Keyboard Rus+Eng\WiFi\USB - 4\\Notebook caracteristici (3 bucati) :\Dimensiuni ecran 15 inci\Sistem de operare Windows10x32 bit\Dimensiunea RAM DDR4 4Gb\Tip hard disk SSD 120Gb + HDD 500 Gb\Tip procesor Core i5\Keyboard Rus+Eng\WiFi\USB - 4"],["8","2018-11-16","1","2089","3","11.15","Untest de incalcare a disciplinei\de munca",""],["9","2018-11-16","2","2113","4","10.23","Incalcare","Masuri luate"]]

Получаю вот это:
SyntaxError: JSON.parse: bad escaped character at line 1 column 50 of the JSON data [Подробнее] funxe.js:287:15
callback http://192.168.1.111:8082/SC/js/funxe.js:287:15
AJAX/_http.onreadystatechange http://192.168.1.111:8082/SC/js/ajax.js:14:13
...
Рейтинг: 0 / 0
Перевод Строки
    #39736637
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valeriu,

если вы подобным образом:
Код: javascript
1.
set strWithoutLF=$tr(strWithLF,$c(10),"\n")

заменяли $c(10) на \n, то результат неудивителен.
...
Рейтинг: 0 / 0
Перевод Строки
    #39736688
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valeriu,

обратите внимание не $tr ($translate) а $replace
...
Рейтинг: 0 / 0
Перевод Строки
    #39736757
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslov если вы подобным образом:

set strWithoutLF=$tr(strWithLF,$c(10),"\n")

заменяли $c(10) на \n, то результат неудивителен.
DAiMor обратите внимание не $tr ($translate) а $replace

У меня Каше 5.0. Я сразу не оговорил, прошу прощения ....
Чем можно заменить $replace ?

Спасибо.
...
Рейтинг: 0 / 0
Перевод Строки
    #39736849
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeriuУ меня Каше 5.0.Охх, 2018 год на дворе, контейнеры, IRIS, машина в космосе летает. А у вас Caché больше 10 лет давности. Придется тогда самому писать функцию через $find, а на GT.M как обходитесь без $replace?
...
Рейтинг: 0 / 0
Перевод Строки
    #39736871
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMorGT.M как обходитесь без $replace?
$TR Вполне хватало до сих пор...
Будем писать функцию значит. Спасибо
...
Рейтинг: 0 / 0
Перевод Строки
    #39736966
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valeriu$TR Вполне хватало до сих пор....Когда-то на comp.lang.mumps было обсуждение, какая реализация $$replace() на M самая быстрая. ЕМНИП, победила вот эта:
Код: javascript
1.
2.
3.
4.
replace(str,from,to) ;
  	new i set i=1
  	for  s i=$find(str,from,i) q:i=0  set $e(str,i-$l(from),i-1)=to,i=i-$l(from)+$l(to)
  	quit str

Если интересует встроенная функция $replace(), которая ожидаемо раз в 10 быстрее, попробуйте написать коллеге Константину, возможно, она уже вошла в его расширенный GT.M 6.3.

Disclaimer: я вам ничего не обещал :)
...
Рейтинг: 0 / 0
Перевод Строки
    #39736971
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslov,

Спасибо, Алексей !
Вроде копался там, но ничего не нашел...
Чудеса..
...
Рейтинг: 0 / 0
Перевод Строки
    #39736986
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем большое спасибо за отклики !
Вопрос решился .
Алексей еще раз спасибо !
...
Рейтинг: 0 / 0
Перевод Строки
    #39737352
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey MaslovКогда-то на comp.lang.mumps было обсуждение, какая реализация $$replace() на M самая быстрая. ЕМНИП, победила вот эта:
Код: javascript
1.
2.
3.
4.
replace(str,from,to) ;
  	new i set i=1
  	for  s i=$find(str,from,i) q:i=0  set $e(str,i-$l(from),i-1)=to,i=i-$l(from)+$l(to)
  	quit str

Было и здесь
...
Рейтинг: 0 / 0
Перевод Строки
    #39737387
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefintБыло и здесь Да, именно здесь и было, и тема проработана довольно глубоко. Как изменился мир за 8 лет: где жара, где фестивали в Юрмале...
...
Рейтинг: 0 / 0
Перевод Строки
    #39738142
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще для МСМ было нужно .
Да времени прошло много, а вопрос всплыл
как бы сам по себе, но уже для нового витка в М...
Забывать стал.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Перевод Строки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]