A1sJ.FromJSON
Назначение: разобрать строку JSON в значение 1С.
Особенность: опциональная замена одиночных кавычек на двойные перед разбором.
Особенность: опциональная замена одиночных кавычек на двойные перед разбором.
Сигнатура
Function FromJSON(JSONText, ReplaceSingleQuotes=false) Export
Как работает (по исходному коду)
Export
If Boolean(ReplaceSingleQuotes) Then
JSONText = StrReplace(JSONText, "'","""");
EndIf;
JSONReader = New JSONReader;
JSONReader.SetString(JSONText);
Try
Value = XDTOSerializer.ReadJSON(JSONReader);
Except
Value = Undefined;
EndTry;
JSONReader.Close();
Return Value;
Параметры
- JSONText — строка JSON.
- ReplaceSingleQuotes — булево; если Истина — заменит ' на " перед парсингом.
Возвращает
Variant — восстановленное значение; при ошибке — Неопределено.
Примеры
Структ = A1sJ.FromJSON("{""X"":5,""Y"":10}"); // Структура X=5,Y=10
Массив = A1sJ.FromJSON("[1,2,3]");
Знач = A1sJ.FromJSON("{'X':5}", Истина); // корректируем одинарные кавычки
Нюансы и ограничения
✅ Основано на JSONReader + XDTOSerializer.ReadJSON
❗ При ошибке возвращает Неопределено — проверяйте значение
❗ ReplaceSingleQuotes — опасная «поблажка»: используйте с осторожностью