【发布时间】:2019-07-31 16:28:35
【问题描述】:
我在使用转义花括号的逐字字符串上遇到 String.Format 问题。
它正在提高FormatError() Exception:Message: System.FormatException : Input string was not in a correct format.
String s = $@"{{ ""ver"": ""1.0"",""userId"": ""{0}""}}";
String.Format(s, "1234")
【问题讨论】:
-
你为什么使用 string.Format 而不是字符串插值?
-
不要使用
string.Format或字符串插值来生成JSON。创建一个匿名对象并改用 JSON.NET。 -
我只需要为特定的测试用例生成一个以特定格式编码的json字符串。我不认为使用 JSON.NET 库在这里增加价值。
-
我不同意@SwissFr。 a) 如果你这样做了,你就不必问这个问题了。 b) 如果
userId的内容需要对 JSON 进行转义/编码,那么您当前的代码将不起作用。
标签: c# string verbatim-string