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

标签 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 是 True 还是 False。这是我所拥有的:

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

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

最佳答案

表达式

JsonConvert.DeserializeObject<dynamic>(result).success

实际上返回一个JValue类型的对象,这不是 equal。您需要首先强制返回 bool 值:

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

关于c# - 从 JSON 字符串中检测 True/False 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29382292/

相关文章:

c# - 构建 JSON 配置部分

javascript - 无法弄清楚如何使用 AJAX 从 JSON 数据对象获取特定值

JSON.Net读取错误

c# - ItemsControl 中的 PRISM View 注入(inject)

C# 无法正确识别 JSON 数组

.net - Newtonsoft.Json - mscorlib.dll 中发生了类型 'System.IO.FileLoadException' 的第一次机会异常

.net - 复杂消息和大众运输反序列化

c# - Task.WhenAll 是否在后台线程中并行运行任务

c# - 从非 MVC 类生成 HTML

c# - 单步执行 .NET Framework 源代码?