如何在C#中将布尔变量插入JSON字符串

时间:2018-04-09 20:32:44

标签: c# json string

假设我有以下内容:

var b = true;
var f = "{ \"templateName\": \"name\", \"Active\": \"" +b + "\"}";

那个b值对我不起作用:(我尝试了不同的场景而没有运气。

1 个答案:

答案 0 :(得分:3)

这样做的正确方法是直接使用对象。然后你可以序列化到你想要的任何格式(如果你想要JSON,你应该使用JSON.NET)。

例如,你应该有一个类似 的类:

public class TestClass
{
    public bool Active { get; set; }
    public string TemplateName { get; set; }
}

这是一个代表你的JSON对象的类,但是我们只是处理对象而不是修改字符串并解决这个问题。

在您的代码中,您可以实例化和/或修改该对象的实例:

var testObj = new TestClass()
{
    Active = true,
    TemplateName = "SomeName"
};

//changed my mind, I want Active to be false now
testObj.Active = false;

然后利用JSON.NET的强大功能,您可以将此对象序列化为JSON:

string jsonString = JsonConvert.SerializeObject(testObj);