Skip to content

СФОРМИРОВАТЬ_VJSON(СписокПеременных, Флаг)

Функция формирует объект JSON по списку переменных и возвращает в виде строки. Параметры: СписокПеременных - строка со списком переменных, разделенных пробелом или запятыми, по именам и значениям которых будет сформирован результирующий JSON Флаг - значение 1 является признаком того, что значения переменных нужно записать "как есть", без дополнительных преобразований и экранирований. Полезно когда в значении переменной содержится сформированный оъект или массив JSON.

Пример:

js
extProductId	= 123;
name					= "Водка";
type					= "ALCOHOL";
unitId				= 777;
taxId					= 10;
extCategoryId	= 111;
sellPointId		= 999;

//реквизиты объекта alco
code					= "200";
isUnpacked		= true;
alco					= СФОРМИРОВАТЬ_VJSON("code isUnpacked");


//массив объектов items
price					= 500.00;
mbarcodes[0]	= "1234567890";
mbarcodes[1]	= "4567893210";
itemObject		= СФОРМИРОВАТЬ_VJSON("price mbarcodes");
itemsArray[0]	= itemObject;
items					= СФОРМИРОВАТЬ_VJSON("itemsArray", 1);

//собираем весь json
JSON_DATA			= СФОРМИРОВАТЬ_VJSON("extProductId name type unitId taxId extCategoryId sellPointId items|array alco|object");
СООБЩЕНИЕ( JSON_DATA, "JSON_DATA" );

Результат: image_2023_08_16t17_51_12_837z.png

РАЗОБРАТЬ_VJSON ( СтрокаJSON, ИмяПеременной )

Функция разбирает объект и формирует переменные с именами равными именам полей JSON объекта первого уровня и значениями равными значениям полей этого объекта. При разборе безымянного массива необходимо задать второй параметр функции с именем формируемого массива.

Пример:

json
[
  {
   "name":"Товар1", 
   "price": 100 
  },
  {
   "name":"Товар2", 
   "price": 150 
  }
]
js
СтрокаJSON = "[
  {
   "name":"Товар1", 
   "price": 100 
  },
  {
   "name":"Товар2", 
   "price": 150 
  }
]";

РАЗОБРАТЬ_VJSON( СтрокаJSON, "МассивТоваров" );

//на выходе получим МассивТоваров с двумя элементами, каждый из которых является объектом
МассивТоваров[0] = "{
   "name":"Товар1", 
   "price": 100 
  }";

МассивТоваров[1] = "{
   "name":"Товар2", 
   "price": 150 
  }";

//каждый объект можно разобрать через РАЗОБРАТЬ_VJSON
КоличествоПеременных = РАЗОБРАТЬ_VJSON( МассивТоваров[0] );
//получим КоличествоПеременных = 2
//и переменные
name = "Товар1";
price = 100;

//аналогично для второго объекта
КоличествоПеременных = РАЗОБРАТЬ_VJSON( МассивТоваров[1] );
//получим КоличествоПеременных = 2
//и переменные
name = "Товар2";
price = 150;