我在 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/