小编Bun*_*Fox的帖子

Newtonsoft JSON,检查属性及其值是否存在

我有一个 API,我将 JSON 作为输入,我想检查该 JSON 中是否存在指定的属性及其值。

注意: JSON 不是从代码生成的,而是由用户输入的,因此我无法在序列化时验证 JSON。

考虑以下 JSON:

{
  "id": 1,
  "someProperties": 
  {
    "property1": "abc",
    "property2": ["zzz", "ccc"]
  }
}
Run Code Online (Sandbox Code Playgroud)

在 中somePropertiesproperty1并且property2两者可以同时存在或其中任何一个存在。所以我想检查哪些属性都存在。如果存在,该属性是否具有有效值。

我尝试了以下代码:

dynamic request = JsonConvert.DeserializeObject(JSONRequestData);
var X = request["someProperties"]["property1"];
Run Code Online (Sandbox Code Playgroud)

以下是我必须检查其各自响应的两种情况:

  • 如果JSON 中"property1": "abc"存在,那么我将null进入X
  • 如果我放入property1没有其值的 JSON,它看起来像这样,"property1": ,那么我会得到null.

那么如何区分JSON 中不存在的属性和不存在的属性值

c# validation json json.net

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

c# ×1

json ×1

json.net ×1

validation ×1