c# - C# String.Format 输入字符串格式不正确
问题描述
我收到一个异常“输入字符串的格式不正确”。我不明白为什么。我查看了文档,但这并没有给我任何想法。
string body = string.Format(@"{
""credentials"": {
""name"": ""{0}"",
""password"": ""{1}"",
""site"": {
""contentUrl"": ""{2}""
}
}
}",Username, Password, siteName);
睡眠不足和旧代码......我正在反序列化响应但没有序列化请求♂️
解决方案
{
并}
在格式字符串中具有特殊含义。如果您希望字符串从字面上包含它们,则必须通过将它们加倍来转义它们:
string body = string.Format(@"{{
""credentials"": {{
""name"": ""{0}"",
""password"": ""{1}"",
""site"": {{
""contentUrl"": ""{2}""
}}
}}
}}", Username, Password, siteName);
或者,正如@mjwills 所建议的,您可以创建一个匿名对象并将其序列化为 JSON:
var obj = new { name = Username, password = Password, site = new { contentUrl = siteName }};
string body = new JavaScriptSerializer().Serialize(obj);
推荐阅读
- excel - (Excel) 如何将一列配对数据重新编译成两列
- javascript - React-Native 测试库/Jest:无法读取属性“TouchableOpacity”
- javascript - 使用 html 和 JavaScript 根据时间记录创建 Open/Closed 商店
- android-studio - 如何让 Android Studio 北极狐“运行所有测试”工作?
- c - ffmpeg 可以解析/解码 AVCC 格式的数据包吗?
- angularjs - Ionic/AngularJS 的多级(子视图)路由
- reactjs - 如果我不导入它,为什么我可以使用来自“@testing-library/jest-dom”的expect expect().toBeInTheDocument?
- nginx - nginx反向代理+rundeck没有按预期工作
- c++ - c++17 中的 is_constructible 用于没有用户定义的构造函数的类型
- c# - AForge.NET:未触发 NewFrameEventHandler 参数方法