Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用C#web客户端传递嵌入式JSON_C#_.net_Json_Webclient_Javascriptserializer - Fatal编程技术网

如何使用C#web客户端传递嵌入式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

我需要通过API传递嵌入式JSON文件

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\\\"