如何使用C#web客户端传递嵌入式JSON
我需要通过API传递嵌入式JSON文件如何使用C#web客户端传递嵌入式JSON,c#,.net,json,webclient,javascriptserializer,C#,.net,Json,Webclient,Javascriptserializer,我需要通过API传递嵌入式JSON文件 public static string EvaluateRating(string jsonFile,string vKey, string mobileNo, string nic) { try { object input = new { ErrorMessage = "", ErrorStatus = false, Validat
public static string EvaluateRating(string jsonFile,string vKey, string mobileNo, string nic)
{
try
{
object input = new
{
ErrorMessage = "",
ErrorStatus = false,
ValidationDataDetails = new
{
SessionID = "Ses21",
ValidatiorKey = vKey.Replace("\"", "")
},
onlineRequestFields = new
{
SelectedProduct = 162,
JsonFile = jsonFile
},
};
string inputJson = (new JavaScriptSerializer()).Serialize(input);
WebClient webClient = new WebClient();
WebClient client = webClient;
client.Headers["Content-type"] = "application/json";
client.Encoding = Encoding.UTF8;
string json = client.UploadString(apiUrl + "/EvaluateRating", inputJson);
return json;
}
catch (WebException webEx)
{
Console.WriteLine(webEx);
}
return null;
}
这里,我将嵌入式JSON作为参数传递
参数jsonFile
字符串如下所示
{\"evaluation\":{\"numeric\":[{\"@parameter-id\":\"2657\",\"@new-value\":\"\",\"@label\":\"Monthly Income\"},{\"@parameter-id\":\"2614\",\"@new-value\":\"\",\"@label\":\"Existing Financial\"},{\"@parameter-id\":\"2608\",\"@new-value\":\"\",\"@label\":\"Basic Salary\"},{\"@parameter-id\":\"2661\",\"@new-value\":\"\",\"@label\":\"Existig Card\"},{\"@parameter-id\":\"2609\",\"@new-value\":\"\",\"@label\":\"Fixed Allowances\"},{\"@parameter-id\":\"2611\",\"@new-value\":\"\",\"@label\":\"Other Income \"}]}}
传递JSONFile
后,inputJson
的值显示如下(运行时的部分值)
这会产生错误,因为API不接受\\\\
,当我将JsonFile设置为静态时,API返回预期输出,但没有错误
JsonFile = "{\"evaluation\":{\"numeric\":[{\"@parameter-id\":\"2657\",\"@new-value\":\"\",\"@label\":\"Monthly Income\"},{\"@parameter-id\":\"2614\",\"@new-value\":\"\",\"@label\":\"Existing Financial\"},{\"@parameter-id\":\"2608\",\"@new-value\":\"\",\"@label\":\"Basic Salary\"},{\"@parameter-id\":\"2661\",\"@new-value\":\"\",\"@label\":\"Existig Card\"},{\"@parameter-id\":\"2609\",\"@new-value\":\"\",\"@label\":\"Fixed Allowances\"},{\"@parameter-id\":\"2611\",\"@new-value\":\"\",\"@label\":\"Other Income \"}]}}",
我认为在序列化之后
对象输入变成这样
{\r\n \\\"@parameter-id\\\": \\\"2657\\\",\r\n \\\"@new-value\\\": \\\"\\\",\r\n \\\"@label\\\": \\\"Monthly Income - PersonalAdvances\\\"
那么,如何使用C#WebClient传递这个嵌入式JSON文件呢
{\r\n \\\"@parameter-id\\\": \\\"2657\\\",\r\n \\\"@new-value\\\": \\\"\\\",\r\n \\\"@label\\\": \\\"Monthly Income - PersonalAdvances\\\"