2

std.json私が取り組んでいるプログラムの一部としてライブラリを見ていましたがJSONValue、型がTRUEFALSEまたはと推測される s からデータを取得する方法について少し混乱しています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"ますか?

4

1 に答える 1

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;

もちろん、値が他の型を持つ可能性があると予想される場合は、追加のチェックが必要になります。

于 2014-11-18T01:02:53.723 に答える