我正在查看 std.json
库,作为我正在开发的程序的一部分,并且我对如何从 JSONValue
中获取数据感到有点困惑其类型被推断为 TRUE
、FALSE
或 NULL
。
例如,如果我解析以下 JSON:
{
"foo" : "bar"
}
然后,我可以通过执行以下操作来提取属性 "foo"
中保存的字符串:
auto json = parseJSON("/path/to/json/example.json");
auto foo_attr = json["foo"].str;
但假设我有这样的 JSON:
{
"foo" : false,
"bar" : true,
"baz" : null
}
我需要做什么才能获取 "foo"
、"bar"
和 "baz"
的属性值?
最佳答案
查看变量的类型。
auto json = parseJSON("/path/to/json/example.json");
bool foo = json["foo"].type == JSON_TYPE.TRUE;
bool bar = json["bar"].type == JSON_TYPE.TRUE;
bool bazIsNull = json["baz"].type == JSON_TYPE.NULL;
当然,如果您期望值可能具有其他类型,则需要额外的检查。
关于json - std.json - 与 TRUE、FALSE 和 NULL 值有点混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26984818/