我有一个 API,我将 JSON 作为输入,我想检查该 JSON 中是否存在指定的属性及其值。
注意: JSON 不是从代码生成的,而是由用户输入的,因此我无法在序列化时验证 JSON。
考虑以下 JSON:
{
"id": 1,
"someProperties":
{
"property1": "abc",
"property2": ["zzz", "ccc"]
}
}
Run Code Online (Sandbox Code Playgroud)
在 中someProperties,property1并且property2两者可以同时存在或其中任何一个存在。所以我想检查哪些属性都存在。如果存在,该属性是否具有有效值。
我尝试了以下代码:
dynamic request = JsonConvert.DeserializeObject(JSONRequestData);
var X = request["someProperties"]["property1"];
Run Code Online (Sandbox Code Playgroud)
以下是我必须检查其各自响应的两种情况:
"property1": "abc"不存在,那么我将null进入Xproperty1没有其值的 JSON,它看起来像这样,"property1": ,那么我会得到null.那么如何区分JSON 中不存在的属性和不存在的属性值?