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

时间:2015-04-01 03:18:25

标签: 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;

现在我需要知道r是真还是假。这就是我所拥有的:

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

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

1 个答案:

答案 0 :(得分:5)

表达式

JsonConvert.DeserializeObject<dynamic>(result).success

实际上返回JValue类型的对象,该对象不是equalfalse。你需要首先强制返回一个布尔值:

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