将json bool值转换为C#bool值

时间:2020-02-12 20:38:30

标签: c#

我正在尝试将json布尔值字符串转换为C#等效项。这是我的代码:

  string jsonResponseString = "{boolvalue:'true'}";
  dynamic jsonResponse = JsonConvert.DeserializeObject(jsonResponseString);

  if (jsonResponse.boolvalue == true){
    Console.WriteLine("yes it is bool");
  }
  else{
    Console.WriteLine("no it is still a string");
  }

不幸的是,布尔值仍然是字符串"true",而不是布尔值true。由于我在运行时不知道要获取哪种对象字符串,因此我想使用DeserializeObject<type>来避免显式类型转换。我觉得我缺少明显的东西。将字符串布尔值转换为实际布尔值的正确方法是什么?

1 个答案:

答案 0 :(得分:5)

您的JSON字符串中的json值实际上是字符串true。为了将其解析为bool,您应该通过删除引号将其声明为bool:

string jsonResponseString = "{boolvalue: true}";