从 JSON 字符串中检测 True/False 值

Detect True/False value from a JSON string

我有以下代码:

string result = "{\n  \"success\": false,\n  \"error-codes\": [\n    \"missing-input-response\"\n  ]\n}";

var results = JsonConvert.DeserializeObject<dynamic>(result);

var r = results.success;

现在我需要知道 r 是 True 还是 False。这是我拥有的:

if (r.Equals(false))
{
    //action
}

但上面的测试似乎不起作用。在我的案例中找到 True 或 False 值的正确方法是什么?

表达式

JsonConvert.DeserializeObject<dynamic>(result).success

实际上 return 是 JValue, which is not equalfalse 类型的对象。您需要先将 return 强制转换为布尔值:

var results = JsonConvert.DeserializeObject<dynamic>(result);
bool r = results.success; // Force "success" to be boolean.
if (!r)
{
    // Action.
}