21. JSON 的 Boost 包
JSON boost 模块为 JSON 实现了一系列辅助宏和函数。
所有函数和符号都在 “json_boost” 模块中,请使用 require 访问该模块。
require daslib/json_boost
21.1. 读取器宏
- json
- 该宏实现了在程序中嵌入 JSON 对象::
var jsv = %json~ {
“name”: “main_window”, “value”: 500, “size”: [1,2,3]
} %%
21.2. Variant macros
- better_json
该宏用于实现 is json_value 和 as json_value 运行时检查。 它主要是将 value as name 替换为 value.value as name,将 value is name 替换为 value.value is name。
21.3. 值转换
from_JV (v:json::JsonValue explicit? const;ent:auto(EnumT) const;defV:EnumT const) : EnumT
from_JV (v:json::JsonValue explicit? -const;ent:string const;defV:string const) : auto
from_JV (v:json::JsonValue explicit? -const;ent:bool const;defV:bool const) : auto
from_JV (v:json::JsonValue explicit? -const;ent:float const;defV:float const) : auto
from_JV (v:json::JsonValue explicit? -const;ent:double const;defV:double const) : auto
from_JV (v:json::JsonValue explicit? -const;ent:int const;defV:int const) : auto
from_JV (v:json::JsonValue explicit? -const;ent:uint const;defV:uint const) : auto
from_JV (v:json::JsonValue explicit? -const;ent:int64 const;defV:int64 const) : auto
from_JV (v:json::JsonValue explicit? -const;ent:uint64 const;defV:uint64 const) : auto
from_JV (v:json::JsonValue explicit? -const;ent:int8 const;defV:int8 const) : auto
from_JV (v:json::JsonValue explicit? -const;ent:uint8 const;defV:uint8 const) : auto
from_JV (v:json::JsonValue explicit? -const;ent:int16 const;defV:int16 const) : auto
from_JV (v:json::JsonValue explicit? -const;ent:uint16 const;defV:uint16 const) : auto
from_JV (v:json::JsonValue explicit? -const;ent:bitfield const;defV:bitfield const) : auto
from_JV (v:json::JsonValue explicit? -const;ent:auto(VecT) const;defV:VecT const) : auto
from_JV (v:json::JsonValue explicit? -const;anything:table<auto(KT);auto(VT)> const) : auto
from_JV (v:json::JsonValue explicit? -const;anything:auto(TT) const) : auto
JV (val1:auto const;val2:auto const;val3:auto const) : json::JsonValue?
JV (val1:auto const;val2:auto const;val3:auto const;val4:auto const) : json::JsonValue?
- JV(v: float const)
JV returns json::JsonValue ?
argument |
argument type |
---|---|
v |
float const |
skip functions skip void?
- JV(v: int const)
JV returns json::JsonValue ?
argument |
argument type |
---|---|
v |
int const |
skip functions skip void?
- JV(v: bitfield const)
JV returns json::JsonValue ?
argument |
argument type |
---|---|
v |
bitfield<> const |
skip functions skip void?
- JV(val: int8 const)
JV returns json::JsonValue ?
argument |
argument type |
---|---|
val |
int8 const |
skip functions skip void?
- JV(val: uint8 const)
JV returns json::JsonValue ?
argument |
argument type |
---|---|
val |
uint8 const |
skip functions skip void?
- JV(val: int16 const)
JV returns json::JsonValue ?
argument |
argument type |
---|---|
val |
int16 const |
skip functions skip void?
- JV(val: uint16 const)
JV returns json::JsonValue ?
argument |
argument type |
---|---|
val |
uint16 const |
skip functions skip void?
- JV(val: uint const)
JV returns json::JsonValue ?
argument |
argument type |
---|---|
val |
uint const |
skip functions skip void?
- JV(val: int64 const)
JV returns json::JsonValue ?
argument |
argument type |
---|---|
val |
int64 const |
skip functions skip void?
- JV(val: uint64 const)
JV returns json::JsonValue ?
argument |
argument type |
---|---|
val |
uint64 const |
skip functions skip void?
- from_JV(v: JsonValue? const; ent: auto(EnumT) const; defV: EnumT const)
from_JV returns EnumT
argument |
argument type |
---|---|
v |
json::JsonValue ? const |
ent |
auto(EnumT) const |
defV |
EnumT const |
解析 JSON 值并返回相应的本地值。
- from_JV(v: JsonValue?; ent: string const; defV: string const)
from_JV returns auto
argument |
argument type |
---|---|
v |
|
ent |
string const |
defV |
string const |
解析 JSON 值并返回相应的本地值。
- from_JV(v: JsonValue?; ent: bool const; defV: bool const)
from_JV returns auto
argument |
argument type |
---|---|
v |
|
ent |
bool const |
defV |
bool const |
解析 JSON 值并返回相应的本地值。
- from_JV(v: JsonValue?; ent: float const; defV: float const)
from_JV returns auto
argument |
argument type |
---|---|
v |
|
ent |
float const |
defV |
float const |
解析 JSON 值并返回相应的本地值。
- from_JV(v: JsonValue?; ent: double const; defV: double const)
from_JV returns auto
argument |
argument type |
---|---|
v |
|
ent |
double const |
defV |
double const |
解析 JSON 值并返回相应的本地值。
- from_JV(v: JsonValue?; ent: int const; defV: int const)
from_JV returns auto
argument |
argument type |
---|---|
v |
|
ent |
int const |
defV |
int const |
解析 JSON 值并返回相应的本地值。
- from_JV(v: JsonValue?; ent: uint const; defV: uint const)
from_JV returns auto
argument |
argument type |
---|---|
v |
|
ent |
uint const |
defV |
uint const |
解析 JSON 值并返回相应的本地值。
- from_JV(v: JsonValue?; ent: int64 const; defV: int64 const)
from_JV returns auto
argument |
argument type |
---|---|
v |
|
ent |
int64 const |
defV |
int64 const |
解析 JSON 值并返回相应的本地值。
- from_JV(v: JsonValue?; ent: uint64 const; defV: uint64 const)
from_JV returns auto
argument |
argument type |
---|---|
v |
|
ent |
uint64 const |
defV |
uint64 const |
解析 JSON 值并返回相应的本地值。
- from_JV(v: JsonValue?; ent: int8 const; defV: int8 const)
from_JV returns auto
argument |
argument type |
---|---|
v |
|
ent |
int8 const |
defV |
int8 const |
解析 JSON 值并返回相应的本地值。
- from_JV(v: JsonValue?; ent: uint8 const; defV: uint8 const)
from_JV returns auto
argument |
argument type |
---|---|
v |
|
ent |
uint8 const |
defV |
uint8 const |
解析 JSON 值并返回相应的本地值。
- from_JV(v: JsonValue?; ent: int16 const; defV: int16 const)
from_JV returns auto
argument |
argument type |
---|---|
v |
|
ent |
int16 const |
defV |
int16 const |
解析 JSON 值并返回相应的本地值。
- from_JV(v: JsonValue?; ent: uint16 const; defV: uint16 const)
from_JV returns auto
argument |
argument type |
---|---|
v |
|
ent |
uint16 const |
defV |
uint16 const |
解析 JSON 值并返回相应的本地值。
- from_JV(v: JsonValue?; ent: bitfield const; defV: bitfield const)
from_JV returns auto
argument |
argument type |
---|---|
v |
|
ent |
bitfield<> const |
defV |
bitfield<> const |
解析 JSON 值并返回相应的本地值。
- JV(v: auto(VecT) const)
JV returns auto
argument |
argument type |
---|---|
v |
auto(VecT) const |
skip functions skip void?
- from_JV(v: JsonValue?; ent: auto(VecT) const; defV: VecT const)
from_JV returns auto
argument |
argument type |
---|---|
v |
|
ent |
auto(VecT) const |
defV |
VecT const |
解析 JSON 值并返回相应的本地值。
- from_JV(v: JsonValue?; anything: table<auto(KT);auto(VT)> const)
from_JV returns auto
argument |
argument type |
---|---|
v |
|
anything |
table<auto(KT);auto(VT)> const |
解析 JSON 值并返回相应的本地值。
- from_JV(v: JsonValue?; anything: auto(TT) const)
from_JV returns auto
argument |
argument type |
---|---|
v |
|
anything |
auto(TT) const |
解析 JSON 值并返回相应的本地值。
- JV(value: auto const)
JV returns json::JsonValue ?
argument |
argument type |
---|---|
value |
auto const |
skip functions skip void?
- JV(val1: auto const; val2: auto const)
JV returns json::JsonValue ?
argument |
argument type |
---|---|
val1 |
auto const |
val2 |
auto const |
skip functions skip void?
- JV(val1: auto const; val2: auto const; val3: auto const)
JV returns json::JsonValue ?
argument |
argument type |
---|---|
val1 |
auto const |
val2 |
auto const |
val3 |
auto const |
skip functions skip void?
- JV(val1: auto const; val2: auto const; val3: auto const; val4: auto const)
JV returns json::JsonValue ?
argument |
argument type |
---|---|
val1 |
auto const |
val2 |
auto const |
val3 |
auto const |
val4 |
auto const |
skip functions skip void?
- JV(val1: auto const; val2: auto const; val3: auto const; val4: auto const; val5: auto const)
JV returns json::JsonValue ?
argument |
argument type |
---|---|
val1 |
auto const |
val2 |
auto const |
val3 |
auto const |
val4 |
auto const |
val5 |
auto const |
skip functions skip void?
- JV(val1: auto const; val2: auto const; val3: auto const; val4: auto const; val5: auto const; val6: auto const)
JV returns json::JsonValue ?
argument |
argument type |
---|---|
val1 |
auto const |
val2 |
auto const |
val3 |
auto const |
val4 |
auto const |
val5 |
auto const |
val6 |
auto const |
skip functions skip void?
- JV(val1: auto const; val2: auto const; val3: auto const; val4: auto const; val5: auto const; val6: auto const; val7: auto const)
JV returns json::JsonValue ?
argument |
argument type |
---|---|
val1 |
auto const |
val2 |
auto const |
val3 |
auto const |
val4 |
auto const |
val5 |
auto const |
val6 |
auto const |
val7 |
auto const |
skip functions skip void?
- JV(val1: auto const; val2: auto const; val3: auto const; val4: auto const; val5: auto const; val6: auto const; val7: auto const; val8: auto const)
JV returns json::JsonValue ?
argument |
argument type |
---|---|
val1 |
auto const |
val2 |
auto const |
val3 |
auto const |
val4 |
auto const |
val5 |
auto const |
val6 |
auto const |
val7 |
auto const |
val8 |
auto const |
skip functions skip void?
- JV(val1: auto const; val2: auto const; val3: auto const; val4: auto const; val5: auto const; val6: auto const; val7: auto const; val8: auto const; val9: auto const)
JV returns json::JsonValue ?
argument |
argument type |
---|---|
val1 |
auto const |
val2 |
auto const |
val3 |
auto const |
val4 |
auto const |
val5 |
auto const |
val6 |
auto const |
val7 |
auto const |
val8 |
auto const |
val9 |
auto const |
skip functions skip void?
- JV(val1: auto const; val2: auto const; val3: auto const; val4: auto const; val5: auto const; val6: auto const; val7: auto const; val8: auto const; val9: auto const; val10: auto const)
JV returns json::JsonValue ?
argument |
argument type |
---|---|
val1 |
auto const |
val2 |
auto const |
val3 |
auto const |
val4 |
auto const |
val5 |
auto const |
val6 |
auto const |
val7 |
auto const |
val8 |
auto const |
val9 |
auto const |
val10 |
auto const |
skip functions skip void?
21.4. Uncategorized
- operator ?[](a: JsonValue? const ==const; key: string const)
?[] returns json::JsonValue ? const
argument |
argument type |
---|---|
a |
json::JsonValue ? const! |
key |
string const |
如果存在,则返回 JSON 数组中索引的值。
- operator ?[](a: JsonValue? ==const; key: string const)
?[] returns json::JsonValue ?
argument |
argument type |
---|---|
a |
|
key |
string const |
如果存在,则返回 JSON 数组中索引的值。
- operator ?.(a: JsonValue? const ==const; key: string const)
?. returns json::JsonValue ? const
argument |
argument type |
---|---|
a |
json::JsonValue ? const! |
key |
string const |
如果存在,则返回 JSON 对象中键的值。
- operator ?.(a: JsonValue? ==const; key: string const)
?. returns json::JsonValue ?
argument |
argument type |
---|---|
a |
|
key |
string const |
如果存在,则返回 JSON 对象中键的值。
- operator ?[](a: JsonValue? const ==const; idx: int const)
?[] returns json::JsonValue ? const
argument |
argument type |
---|---|
a |
json::JsonValue ? const! |
idx |
int const |
如果存在,则返回 JSON 数组中索引的值。
- operator ?[](a: JsonValue? ==const; idx: int const)
?[] returns json::JsonValue ?
argument |
argument type |
---|---|
a |
|
idx |
int const |
如果存在,则返回 JSON 数组中索引的值。
- operator ??(a: JsonValue? const; val: double const)
?? returns double
argument |
argument type |
---|---|
a |
json::JsonValue ? const |
val |
double const |
如果存在,则返回 JSON 对象的值,否则返回默认值。
- operator ??(a: JsonValue? const; val: float const)
?? returns float
argument |
argument type |
---|---|
a |
json::JsonValue ? const |
val |
float const |
如果存在,则返回 JSON 对象的值,否则返回默认值。
- operator ??(a: JsonValue? const; val: int8 const)
?? returns int8
argument |
argument type |
---|---|
a |
json::JsonValue ? const |
val |
int8 const |
如果存在,则返回 JSON 对象的值,否则返回默认值。
- operator ??(a: JsonValue? const; val: int16 const)
?? returns int16
argument |
argument type |
---|---|
a |
json::JsonValue ? const |
val |
int16 const |
如果存在,则返回 JSON 对象的值,否则返回默认值。
- operator ??(a: JsonValue? const; val: int const)
?? returns int
argument |
argument type |
---|---|
a |
json::JsonValue ? const |
val |
int const |
如果存在,则返回 JSON 对象的值,否则返回默认值。
- operator ??(a: JsonValue? const; val: int64 const)
?? returns int64
argument |
argument type |
---|---|
a |
json::JsonValue ? const |
val |
int64 const |
如果存在,则返回 JSON 对象的值,否则返回默认值。
- operator ??(a: JsonValue? const; val: uint8 const)
?? returns uint8
argument |
argument type |
---|---|
a |
json::JsonValue ? const |
val |
uint8 const |
如果存在,则返回 JSON 对象的值,否则返回默认值。
- operator ??(a: JsonValue? const; val: uint16 const)
?? returns uint16
argument |
argument type |
---|---|
a |
json::JsonValue ? const |
val |
uint16 const |
如果存在,则返回 JSON 对象的值,否则返回默认值。
- operator ??(a: JsonValue? const; val: uint const)
?? returns uint
argument |
argument type |
---|---|
a |
json::JsonValue ? const |
val |
uint const |
如果存在,则返回 JSON 对象的值,否则返回默认值。
- operator ??(a: JsonValue? const; val: uint64 const)
?? returns uint64
argument |
argument type |
---|---|
a |
json::JsonValue ? const |
val |
uint64 const |
如果存在,则返回 JSON 对象的值,否则返回默认值。
- operator ??(a: JsonValue? const; val: bool const)
?? returns bool
argument |
argument type |
---|---|
a |
json::JsonValue ? const |
val |
bool const |
如果存在,则返回 JSON 对象的值,否则返回默认值。
- operator ??(a: JsonValue? const; val: string const)
?? returns string
argument |
argument type |
---|---|
a |
json::JsonValue ? const |
val |
string const |
如果存在,则返回 JSON 对象的值,否则返回默认值。
- operator ?.`value(a: JsonValue? const ==const)
?.`value returns JsValue ?
argument |
argument type |
---|---|
a |
json::JsonValue ? const! |
如果存在 JSON 对象,则返回该对象的值。
- operator ?.`value(a: JsonValue? ==const)
?.`value returns JsValue ?
argument |
argument type |
---|---|
a |
|
如果存在 JSON 对象,则返回该对象的值。