mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2024-12-25 02:42:28 +02:00
Параметр кодировки в разборе json
This commit is contained in:
parent
877e307d9d
commit
cbaad637df
@ -8,18 +8,19 @@
|
||||
// конкретное значение при указании имени поля
|
||||
//
|
||||
// Параметры:
|
||||
// JSON - Строка - JSON данные - json
|
||||
// МаксимальныйУровеньВложенности - Строка - Ограничение на уровень вложенности разбора. На всю глубину по умолчанию - nesting
|
||||
// ИмяПараметра - Строка - Имя поля для получения. Выводит список доступных, если не указано - name
|
||||
// JSON - Строка - JSON данные - json
|
||||
// МаксимальныйУровеньВложенности - Строка - Ограничение на ур. вложенности разбора. На всю глубину по умолчанию - nesting
|
||||
// ИмяПараметра - Строка - Имя поля для получения. Выводит весь список, если не указано - name
|
||||
// Кодировка - Строка - Кодировка, в которой записаны JSON данные - enc
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - пустая строка
|
||||
Функция РазложитьJSON(Знач JSON, Знач МаксимальныйУровеньВложенности = 0, Знач ИмяПараметра = "") Экспорт
|
||||
Функция РазложитьJSON(Знач JSON, Знач МаксимальныйУровеньВложенности = 0, Знач ИмяПараметра = "", Знач Кодировка = "UTF-8") Экспорт
|
||||
|
||||
МаксимальнаяВложенность = МаксимальныйУровеньВложенности;
|
||||
ИскомыйПараметр = ИмяПараметра;
|
||||
|
||||
ПолучитьКоллекцию(JSON);
|
||||
ПолучитьКоллекцию(JSON, Кодировка);
|
||||
|
||||
Если Не ТипЗнч(JSON) = Тип("Соответствие") Тогда
|
||||
ВызватьИсключение "Ошибка преобразовани данных параметра JSON";
|
||||
@ -110,7 +111,7 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПолучитьКоллекцию(Значение)
|
||||
Процедура ПолучитьКоллекцию(Значение, Знач Кодировка)
|
||||
|
||||
Если Значение = Неопределено Тогда
|
||||
Возврат;
|
||||
@ -123,7 +124,7 @@
|
||||
Иначе
|
||||
|
||||
Если ТипЗнч(Значение) = Тип("ДвоичныеДанные") Тогда
|
||||
Значение = ПолучитьСтрокуИзДвоичныхДанных(Значение);
|
||||
Значение = ПолучитьСтрокуИзДвоичныхДанных(Значение, Кодировка);
|
||||
Иначе
|
||||
Значение = Строка(Значение);
|
||||
КонецЕсли;
|
||||
@ -133,14 +134,14 @@
|
||||
|
||||
Если Файл.Существует() Тогда
|
||||
|
||||
ТекстовыйДокумент.Прочитать(Значение);
|
||||
ТекстовыйДокумент.Прочитать(Значение, Кодировка);
|
||||
Значение = ТекстовыйДокумент.ПолучитьТекст();
|
||||
|
||||
ИначеЕсли СтрНачинаетсяС(нРег(Значение), "http") Тогда
|
||||
|
||||
ИВФ = ПолучитьИмяВременногоФайла();
|
||||
КопироватьФайл(Значение, ИВФ);
|
||||
ТекстовыйДокумент.Прочитать(ИВФ);
|
||||
ТекстовыйДокумент.Прочитать(ИВФ, Кодировка);
|
||||
|
||||
Значение = ТекстовыйДокумент.ПолучитьТекст();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user