Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- &НаСервере
- // Формирует JSON Строку из структуры
- //
- // Параметры:
- // Источник - Структура - Исходная структура, которая формирует JSON
- // СтрокаJSON - ЗаписьJSON - Новый объект записи для JSON
- //
- Процедура JSONИзСтруктуры(Источник, СтрокаJSON) Экспорт
- //СтрокаJSON = Новый ЗаписьJSON();
- //ПараметрыJSON = Новый ПараметрыЗаписиJSON(,Символы.Таб);
- //СтрокаJSON.УстановитьСтроку(ПараметрыJSON);
- СтрокаJSON.ЗаписатьНачалоОбъекта();
- Для Каждого Элемент ИЗ Источник Цикл
- Если ТипЗНЧ(Элемент.Значение) = Тип("Строка") Тогда
- СтрокаJSON.ЗаписатьИмяСвойства(Элемент.Ключ);
- СтрокаJSON.ЗаписатьЗначение(Элемент.Значение);
- ИначеЕсли ТипЗНЧ(Элемент.Значение) = Тип("Число") Тогда
- СтрокаJSON.ЗаписатьИмяСвойства(Элемент.Ключ);
- СтрокаJSON.ЗаписатьЗначение(Формат(Элемент.Значение, "ЧГ=0"));
- ИначеЕсли ТипЗНЧ(Элемент.Значение) = Тип("Булево") Тогда
- СтрокаJSON.ЗаписатьИмяСвойства(Элемент.Ключ);
- СтрокаJSON.ЗаписатьЗначение(Элемент.Значение);
- ИначеЕсли ТипЗНЧ(Элемент.Значение) = Тип("Массив") Тогда
- СтрокаJSON.ЗаписатьИмяСвойства(Элемент.Ключ);
- СтрокаJSON.ЗаписатьНачалоМассива();
- Для Каждого ЭлМассива Из Элемент.Значение Цикл
- Если ТипЗНЧ(ЭлМассива) = Тип("Строка") Тогда
- СтрокаJSON.ЗаписатьЗначение(ЭлМассива);
- ИначеЕсли ТипЗНЧ(ЭлМассива) = Тип("Число") Тогда
- СтрокаJSON.ЗаписатьЗначение(Формат(ЭлМассива, "ЧГ=0"));
- ИначеЕсли ТипЗНЧ(ЭлМассива) = Тип("Булево") Тогда
- СтрокаJSON.ЗаписатьЗначение(ЭлМассива);
- ИначеЕсли ТипЗНЧ(ЭлМассива) = Тип("Структура") Тогда
- JSONИзСтруктуры(ЭлМассива, СтрокаJSON);
- КонецЕсли;
- КонецЦикла;
- СтрокаJSON.ЗаписатьКонецМассива();
- ИначеЕсли ТипЗНЧ(Элемент.Значение) = Тип("Структура") Тогда
- СтрокаJSON.ЗаписатьИмяСвойства(Элемент.Ключ);
- JSONИзСтруктуры(Элемент.Значение, СтрокаJSON);
- Иначе Продолжить
- КонецЕсли;
- КонецЦикла;
- СтрокаJSON.ЗаписатьКонецОбъекта();
- //Возврат
- КонецПроцедуры // JSONИзСтруктуры()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement