|
кто разбирается JScript - подскажите что делает код | ☑ | ||
---|---|---|---|---|
0
Джордж1
09.12.20
✎
16:56
|
Код такой:
| function parseJSON(strJSON) { | var tmpFunc = (new Function('return('+strJSON+');'))(); | return(tmpFunc); | } А вызывается так: _Ответ = scriptCtrl.run("parseJSON", Ответ ); Проблема в том что на WSH 5.7 он не работает, а на WSH 5.8 работает |
|||
1
Fram
09.12.20
✎
17:02
|
Вроде по названию понятно, парсит json - строку в объект
|
|||
2
Fram
09.12.20
✎
17:03
|
Оригинальный способ ) не знал о таком
|
|||
3
ДенисЧ
09.12.20
✎
17:03
|
берёт жисон, делает вид, что это функция и вызывает оную.
Вроде как так. |
|||
4
Fram
09.12.20
✎
17:05
|
(0) попробуй просто JSON.parse(strJSON)
|
|||
5
Джордж1
09.12.20
✎
17:07
|
(4)у меня 7-ка. нет там JSON
|
|||
6
Джордж1
09.12.20
✎
17:08
|
(1)А что есть "объект"?
Вот такую строку парсит в ничего "{"Command":"XReport","Error":"","Warning":"","Message":"","Status":0,"IdCommand":"","NumDevice":2}" |
|||
7
Fram
09.12.20
✎
17:08
|
(5) это js, а не 1с
|
|||
8
Джордж1
09.12.20
✎
17:09
|
(7)чистый js работать с JSON не умеет
|
|||
9
Fragster
гуру
09.12.20
✎
17:09
|
(0) это бэкдор
|
|||
10
Джордж1
09.12.20
✎
17:11
|
(9)можно понять для чего.
Так бы и не обратил внимание, но на 7-ке и 10-ке все работает, а на WinXP уж нет |
|||
11
Fragster
гуру
09.12.20
✎
17:17
|
(10) на клиенте для норм парсинга можно юзать поле html документа, на сервере - чтениеJSON. Нафиг юзать jscript - не знаю.
|
|||
12
Джордж1
09.12.20
✎
17:20
|
(11)1cv7
|
|||
13
Fram
09.12.20
✎
17:20
|
(6) предположу что com объект, но это не точно
|
|||
14
Fram
09.12.20
✎
17:21
|
(9) в принципе кроме объекта функция из (0) больше ничего не сможет вернуть
|
|||
15
Fram
09.12.20
✎
17:24
|
(14)+ или выполнить. Там же ещё один return внутри
|
|||
16
Fragster
гуру
09.12.20
✎
17:25
|
(14) может выполнить кучу интересного по дороге
|
|||
17
mistеr
09.12.20
✎
17:25
|
(2) Именно что "оригинальный". С него и начался JSON.
|
|||
18
Fragster
гуру
09.12.20
✎
17:26
|
strJSON = undefined && alert("hacked"
|
|||
19
Fragster
гуру
09.12.20
✎
17:27
|
скобку после undefined пропустил
|
|||
20
Джордж1
09.12.20
✎
17:27
|
Функция возвращает OLE.JScriptTypeInfo
Дальше идет разбор json в список значений |
|||
21
Джордж1
09.12.20
✎
17:28
|
Как-то не хочется разбор json писать на 1С, но возможно придется
|
|||
22
Garykom
гуру
09.12.20
✎
17:30
|
(21) он давно написан, погугли
|
|||
23
mistеr
09.12.20
✎
17:30
|
(21) ЧтениеJSON
|
|||
24
Джордж1
09.12.20
✎
17:31
|
(22)да вот тот что нагуглил и работает через WSH.
(23)еще раз - у меня 7-ка!!! |
|||
25
Джордж1
09.12.20
✎
17:33
|
преобразование СЗ в json - всего 50 строк кода.
|
|||
26
Fragster
гуру
09.12.20
✎
17:36
|
Если Json простой, то можно попробовать через СтрЗаменить и ЗначениеИзСтрокиВнутр
|
|||
27
Вафель
09.12.20
✎
17:36
|
формально функции я выполняет любой код.
а так строка жсон в жс это объект, то ее можно использовать доя парса жсон |
|||
28
Джордж1
09.12.20
✎
17:39
|
(27)да вот не работает в WSH 5.7
Попробую на WnXP сам cscript.exe подменить более новой версии |
|||
29
Garykom
гуру
09.12.20
✎
17:44
|
||||
30
Garykom
гуру
09.12.20
✎
17:44
|
(29)+ нашел под 8-ку и банально переписал под 7.7
|
|||
31
mistеr
09.12.20
✎
17:50
|
(28) Что говорит?
|
|||
32
Джордж1
09.12.20
✎
17:50
|
(31)что-то там про неправильную строку. нет под рукой WinXP
|
|||
33
Джордж1
09.12.20
✎
17:52
|
(29)спасибо
|
|||
34
Джордж1
09.12.20
✎
18:08
|
(29)Даже почти заработало. Надо только сделать что бы сразу в нужном формате возвращало значения
|
|||
35
Волшебник
09.12.20
✎
18:10
|
Это дыра в системе
|
|||
36
mistеr
09.12.20
✎
23:23
|
(35) Так же, как и Выполнить(). Но это мало кого останавливает. :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |