Encoding

The functions for converting data from one format to another are described here.

Functions

Json( obj o ) str

The Json function converts a variable of obj type into json string.

JsonToObj( str s ) obj

The JsonToObj function converts json string into a variable of the obj type.

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 )

The StructDecode function converts the binary data of a buf variable to the field values of the specified structure variable. The binary data must be created with StructEncode function.

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

StructEncode( struct s ) buf

The StructEncode function converts a structure variable to binary and stores the result into a buf variable. The function saves only fields of the following types: int, bool, char, float, buf, str. Fields of other types are skipped.

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