【发布时间】:2018-10-10 23:03:50
【问题描述】:
有没有办法安全地导航 JSON?
鉴于此 JSON,
{
"foo": {
"bar": {
"baz": "quz"
}
}
}
我想安全地导航它,类似于下面的行,而不为所有类型创建类型。
string value1 = jObj.foo?.bar?.baz ?? "default";
// value1 == "quz"
string value2 = jObj.foo?.abc?.def ?? "default";
// value2 == "default"
我也许可以使用此签名编写扩展方法,但如果有更简单的安全导航方法,请告诉我。
string value = jObj.Value(
"foo.bar?.baz?[1].qux",
"default"
);
【问题讨论】:
-
为什么不只使用空条件索引运算符,例如如Json.NET get nested jToken value所示。