A1sCode библиотека 1С

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 — опасная «поблажка»: используйте с осторожностью