C# 将转义字符串与string.Format一起使用会导致格式异常
尝试此操作时,我遇到System.Format异常:C# 将转义字符串与string.Format一起使用会导致格式异常,c#,string.format,C#,String.format,尝试此操作时,我遇到System.Format异常: var jsonString = String.Format( @"{ ""searchOptions"": { ""departurePosition"": { ""id"": {0} }, ""arrivalPosition"": { ""id"": 376422 }, ""travelModes"": [ ""Flight"", ""Train"", ""Bus"" ],
var jsonString = String.Format( @"{
""searchOptions"": {
""departurePosition"": { ""id"": {0} },
""arrivalPosition"": { ""id"": 376422 },
""travelModes"": [ ""Flight"", ""Train"", ""Bus"" ],
""departureDate"": ""2017-01-15"",
""passengers"": [
{
""age"": 12,
""discountCards"": [ ]
}
],
""userInfo"": {
""identifier"": ""0.jhvlf8amtgk"",
""domain"": "".com"",
""locale"": ""en"",
""currency"": ""EUR""
},
""abTestParameters"": [ ]
}
}", departurePosition);
我在向服务器发送post请求时需要这个
我怎样才能解决这个问题呢?这可能是因为使用了
{
和}
要逃避
{
和}
使用{
和}
可能是因为使用{
和}
要转义已共享此文件的{
和}
请使用{
和}
文件,
如果这只是一个变量,那么常规字符串串联就可以了
var jsonString =
@"{ ""searchOptions"": {
""departurePosition"": { ""id"": " + departurePosition + @"},
""arrivalPosition"": { ""id"": 376422 },
""travelModes"": [ ""Flight"", ""Train"", ""Bus"" ],
""departureDate"": ""2017-01-15"",
""passengers"": [
{
""age"": 12,
""discountCards"": [ ]
}
],
""userInfo"": {
""identifier"": ""0.jhvlf8amtgk"",
""domain"": "".com"",
""locale"": ""en"",
""currency"": ""EUR""
},
""abTestParameters"": [ ]
}
}";
OfirW已经分享了这一点,
如果这只是一个变量,那么常规字符串串联就可以了
var jsonString =
@"{ ""searchOptions"": {
""departurePosition"": { ""id"": " + departurePosition + @"},
""arrivalPosition"": { ""id"": 376422 },
""travelModes"": [ ""Flight"", ""Train"", ""Bus"" ],
""departureDate"": ""2017-01-15"",
""passengers"": [
{
""age"": 12,
""discountCards"": [ ]
}
],
""userInfo"": {
""identifier"": ""0.jhvlf8amtgk"",
""domain"": "".com"",
""locale"": ""en"",
""currency"": ""EUR""
},
""abTestParameters"": [ ]
}
}";
创建一个表示数据的类,并使用
var json=Newtonsoft.json.JsonConvert.SerializeObject(yourDataInstance)
来创建json字符串。正如@Fabio所建议的,为json输出创建可维护解决方案的最佳选择是创建类,并使用像Newtonsoft这样的库来创建有效的输出。例如,我创建了一个小演示创建了一个表示数据的类,并使用var json=Newtonsoft.json.JsonConvert.SerializeObject(yourDataInstance)
创建一个json字符串。正如@Fabio所建议的,为Json输出创建可维护解决方案的最佳选择是创建类,并使用Newtonsoft之类的库来创建有效的输出。例如,我创建了一个小演示