Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: JSON и 1С7.7 (продолжение)

v7: JSON и 1С7.7 (продолжение)
Я
   ovs199
 
23.03.19 - 22:24
В теме JSON и 1С7.7 рассматривается доработка 1С 77 для разборки Json файла. Сделал как там написано.Все получилось,только пришлось добавить в глобальном модуле экспортную переменную "Перем JSON_ctrl Экспорт" и условие "Если JSON_ctrl <> Неопределено Тогда" поменять на "Если НЕ (ПустоеЗначение(JSON_ctrl)=1) Тогда". Но при попытке передать в глобальный модуль объект "Текст" в формате Json "РезультатРазбора=сз_FromJSON(Текст)" получаю ошибку: "obj = JSON_ctrl.run("parseJSON", стр); {Глобальный модуль(243)}: Плохой тип переменной".
Что я делаю не так?
 
 
   Garykom
 
1 - 23.03.19 - 22:35
Ты понимаешь зачем этот код нужен в начале?

Процедура JSON_Init()
    Если JSON_ctrl <> Неопределено Тогда
        Возврат;
    КонецЕсли;
    
    JSON_ctrl = СоздатьОбъект("MSScriptControl.ScriptControl");
   Garykom
 
2 - 23.03.19 - 23:01
Даже интересно неужели еще никто не написал парсера JSON на языке 1С не используя внешние хрени?
Да оно будет тормозно но из спортивного интереса?
   Злопчинский
 
3 - 23.03.19 - 23:09
На исе лежат пару разработок вроде
   Garykom
 
4 - 23.03.19 - 23:15
Нативное только http://catalog.mista.ru/public/119601/ но оно для 8-ки.
Да думаю можно адаптировать для 77
   dmitryds
 
5 - 23.03.19 - 23:16
(0) текст - это точно текст или элемент формы?)))
   Garykom
 
6 - 23.03.19 - 23:17
Хотя вот еще http://catalog.mista.ru/public/316985/ тоже для 8
   MWWRuza
 
7 - 23.03.19 - 23:20
Я в вот этой обработке: http://catalog.mista.ru/public/608035/
уже давно использую это: http://catalog.mista.ru/public/271165/
Да, не совсем средствами 1С делается, а "разбор идёт средствами операционной системы, а не 1С, что существенно увеличивает скорость работы парсера."
Ну, и что - главное работает, и вполне приемлемо.
   ovs199
 
8 - 24.03.19 - 00:40
(1) Подготавливается процедура по обработке.
(5) Это объект "Текст" который я выбираю из каталога "Текст.Открыть(КаталогФС+ФайлФС)".
   Garykom
 
9 - 24.03.19 - 01:21
И думаешь MSScriptControl.ScriptControl знает что такое объект "Текст"  ?
Строку ему скормить не пробовал? Но в 77 со строками проблема их максимальной длины.
Короче придется скрипт на jscript слегка дорабатывать, засунуть туда переменную и пару процедур по ее очистке и заполнению добавлением из строк полученных из Текст.
   MetaDon
 
10 - 24.03.19 - 08:15
(2) я делал разборку строковыми функциями json с сайта Росреестра и норм
(9) ага, и как еще этот скрипт работает) с 3 ===?
 
 Рекламное место пустует
   d4rkmesa
 
11 - 24.03.19 - 10:27
(4) Кстати, да, для 8.2 лучший вариант вообще из того что находил, думаю можно портировать на  7.7 при желании.
   trad
 
12 - 24.03.19 - 11:36
КОП для 1с++
https://www.dropbox.com/s/pmpgyd068mzzu7k/kop1c_JSON.7z?dl=0
экспорт:
ЧтениеJSON
ЗаписьJSON
   trad
 
13 - 24.03.19 - 11:37
//defcls.prm

//#класс JSON = КОП_JSON.ert
//#{

//#  Неопределенный ЧтениеJSON(Строка Стр, Число Поз = 1);
//#  Строка ЗаписьJSON(Неопределенный Значение, Число ПереносСтрок = 0, Строка Отступ = "");

//#}


//Соответствие значений JSON значениям 1С

//Запись - Структура
//Массив - СписокЗначений

//Число - Число
//Строка - Строка с поддержкой  \', \", \\, \/, \t, \n, \r, \f, \b; без поддержки \uFFFF.

//Литерал true - "true"
//Литерал false - "false"

//Литерал null - "null"
   Shur1cIT
 
14 - 24.03.19 - 16:02
(0) насколько помню клюшки могут с JS работать через  MSScriptControl
соответственно в JS есть механизм работы с json и соответственно есть возможность запросы различные на сервер слать

Список тем форума
Рекламное место пустует  Рекламное место пустует
Миста — веселый ресурс со своими эксклюзивными тараканами Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует