假设我有一个未知的JSON,我想检查它是否有类似于此的表单:
{
"foo": stuff
"bar": stuff
}
其中stuff
是什么 - 整数,对象,等等。如果我做这样的事情:
auto json = parseJSON("{}");
auto foo = json["foo"];
我会得到一个段错误。有没有办法优雅地处理这个(返回null,抛出异常,除了段错误之外的任何)?
答案 0 :(得分:3)
只需使用D in
运算符,就像使用D关联数组一样:
auto foo = "foo" in json ? json["foo"].str : null;
如果您使用的是DMD 2.065或更早版本,则需要json.object
运营商使用in
:
auto foo = "foo" in json.object ? json["foo"].str : null;