c# - 无法将包含 %45 的值传递给 REST API

标签 c# html asp.net json json.net

我在 ASP.NET MVC 5 应用程序中遇到问题。

我将以下 JSON 传递给第三方 API,其中包含密码值:-

"{\"operation\":{\"Details\":{\"RESOURCENAME\":\"123\",\"ACCOUNTNAME\":\"test45\",\"PASSWORD\":\"123%456t\",\"createAccount\":{\"operation\":{\"Details\":{\"ACCOUNTLIST\":[]}}}}"

现在的问题是,在第 3 方系统中,API 会将密码 123%456t 保存为 123E6t

有人可以就此提出建议吗?这是第 3 方 API 内部的问题还是我需要从我这边处理的问题?

最佳答案

那绝对是服务器端的问题。百分号是 not a special character in JSON

使用 JSON.NET 反序列化您的 JSON 会产生预期的结果:123%456t

我认为他们在整个或部分 JSON 上调用 HttpUtility.UrlDecode 或类似的东西,因为这会产生 123E6t

关于c# - 无法将包含 %45 的值传递给 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38591948/

相关文章:

c# - 如何在 asp net 5 中传递 "asp-for"的字符串值

c# - 如何从泛型中获取 bool 值作为返回对象

c# - .NET 整数与 Int16?

c# - OpenXML 从 Excel 创建数据表 - 货币单元格值不正确

javascript - Internet Explorer 中我的 magento 网站上显示的小空白框

javascript - 单击时在 FullCalendar 中添加事件

html - 如何将 .ttf 和 .eot 文件作为一种字体嵌入?

asp.net - Asp.Net 中的 LayoutTemplate 错误

.net - 我可以使用程序集不在 GAC 中的自定义保护提供程序加密 web.config 吗?

c# - 此代码片段是否使用 Repository 或 Adapter 模式?