[英]Adding string to verbatim string literal
我正在尝试构造如下的原始json
字符串以在http请求中将其发送出去
var requestContent = @"{
""name"": ""somename"",
""address"": ""someaddress""
}";
与其对名称和地址值进行硬编码,我希望从下面的变量中提供它们
string name = "someName";
string address = "someAddress";
但是下面的方法不起作用。 任何想法 ?
var requestContent = @"{
""name"": \" + name \",
""address"": \" + address \"
}";
正确的语法是:
var requestContent = @"{
""name"": """ + name + @""",
""address"": """ + address + @"""
}";
或者,您可以使用string.Format
:
var requestContent = string.Format(@"{
""name"": ""{0}"",
""address"": ""{1}""
}", name, address);
或者,您可以使用实际的JSON序列化器。
您也可以将逐字字符串与插值一起使用:
var requestContent = $@"{{
""name"": ""{name}"",
""address"": ""{address}""
}}";
编辑:为此,您必须确保将要在输出中的花括号加倍(就像引号一样)。 另外,先$
,然后@
。
而是使用Newtonsoft.JSON JObject()
类的
dynamic myType = new JObject();
myType.name = "Elbow Grease";
myType.address = "someaddress";
Console.WriteLine(myType.ToString());
将生成JSON字符串为
{
"name": "Elbow Grease",
"address": "someaddress"
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.