Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将转义字符串与string.Format一起使用会导致格式异常_C#_String.format - Fatal编程技术网

C# 将转义字符串与string.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"" ],

尝试此操作时,我遇到System.Format异常:

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之类的库来创建有效的输出。例如,我创建了一个小演示