【问题标题】:Using escaped string with String.Format results in Format Exception将转义字符串与 String.Format 一起使用会导致格式异常
【发布时间】:2017-05-30 06:22:44
【问题描述】:

尝试此操作时出现 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 json = Newtonsoft.Json.JsonConvert.SerializeObject(yourDataInstance)创建一个json字符串。
  • 正如@Fabio 所建议的,为 Json 输出创建可维护解决方案的最佳选择是创建类并使用像 Newtonsoft 这样的库来创建有效输出。例如,我创建了一个小演示here

标签: c# string.format


【解决方案1】:

可能是因为{}的使用 要转义 {},请使用 {{}}

【讨论】:

    【解决方案2】:

    OfirW 已经分享了这个, string.Format() giving “Input string is not in correct format”

    如果这只是一个变量,那么常规的字符串连接就可以了。

    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"": [ ]
      }
    }";
    

    【讨论】:

      猜你喜欢
      • 2010-11-10
      • 1970-01-01
      • 2019-05-21
      • 2016-12-11
      • 2014-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多