std.json - 与TRUE,FALSE和NULL值有点混淆

时间:2014-11-18 00:57:48

标签: json d phobos

我正在查看std.json库作为我正在处理的程序的一部分,我对如何从JSONValue中获取数据感到困惑,其类型被推断为{{ 1}},TRUEFALSE

例如,如果我解析以下JSON:

NULL

然后我可以通过执行以下操作来提取属性{ "foo" : "bar" } 中保存的字符串:

"foo"

但是假设我有这样的JSON:

auto json = parseJSON("/path/to/json/example.json");
auto foo_attr = json["foo"].str;

我需要做些什么才能获得{ "foo" : false, "bar" : true, "baz" : null } "foo""bar"的属性值?

1 个答案:

答案 0 :(得分:3)

查看变量的类型。

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;

当然,如果您希望值可能包含其他类型,则需要额外检查。