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

cur*_*us1 2 c# json json.net

我有以下代码:

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

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

var r = results.success;
Run Code Online (Sandbox Code Playgroud)

现在我需要知道r是真还是假.这是我有的:

if (r.Equals(false))
{
    //action
}
Run Code Online (Sandbox Code Playgroud)

但似乎上述测试不起作用.在我的案例中找到真或假值的正确方法是什么?

dbc*_*dbc 5

表达方式

JsonConvert.DeserializeObject<dynamic>(result).success
Run Code Online (Sandbox Code Playgroud)

实际上返回类型的对象JValue,这是不等于false.你需要先强制返回一个布尔值:

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