Конвертация

Здесь описаны функции для конвертации данных из одного представления в другое.

Функции

Json( obj o ) str

Функция Json преобразует переменную типа obj в json строку.

JsonToObj( str s ) obj

Функция JsonToObj преобразует json строку в переменную типа obj.

run str {
return Json(JsonToObj(`{
"int": 1234,
"str": "value",
"float": -45.67,
"list":[{"on": true},
"sub 2",
"sub 3",
{
"q": "OK"
}]
}`))
}
// Result {"float":-45.67,"int":1234,"list":[{"on":true},"sub 2","sub 3",{"q":"OK"}],"str":"value"}

StructDecode( buf b, struct s )

Функция StructDecode преобразует двоичные данные переменной типа buf в значения полей указанной структурной переменной. Двоичные данные должны быть созданы функцией StructEncode.

time t
StructDecode(StructEncode(Now()), t)

StructEncode( struct s ) buf

Функция StructEncode преобразует переменную структурного типа в двоичный вид и сохраняет результат в переменную типа buf. Сохраняются только поля типа: int,bool,char,float,buf,str. Поля остальных типов пропускаются.

struct tmp {
str head
int i
}
run str {
tmp t1 = {head: `HEADER`, i: -356}
buf bout = StructEncode(t1)
...
}