簡體   English   中英

將字符串添加到逐字字符串文字

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM