C# 转换值时出错“;System.Collections.Generic.List`1[]";输入';WebApiTestDefinition.obJson';。路径'';,第1行,位置63

C# 转换值时出错“;System.Collections.Generic.List`1[]";输入';WebApiTestDefinition.obJson';。路径'';,第1行,位置63,c#,asp.net-mvc,asp.net-web-api,C#,Asp.net Mvc,Asp.net Web Api,我试图反序列化json数据,但它显示了如下错误 public ActionResult Test(Login Log) { string sStudName = "ram"; HttpClient client = new HttpClient(); client.BaseAddress = new Uri(StudentAPI); client.DefaultRequestHeaders.Accep

我试图反序列化json数据,但它显示了如下错误

public ActionResult Test(Login Log)      
{          
        string sStudName = "ram";
        HttpClient client = new HttpClient();
        client.BaseAddress = new Uri(StudentAPI);
        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); // this depends on whether you want to get back json or XML            
        var loginResp = client.PostAsJsonAsync(StudentAPI, Log).Result;
        if (loginResp.IsSuccessStatusCode)
        {
            //if (loginResp == null)
            //{
                var msg = loginResp.Content.ReadAsStringAsync();                    
                obJson res = JsonConvert.DeserializeObject<obJson>(loginResp.Content.ReadAsStringAsync().Result);
                return Json(Log, JsonRequestBehavior.AllowGet);
            //}
            //return Redirect("/Admission/Registration");
        }
        else
        {

        }
        return View();
}
公共操作结果测试(登录日志) { 字符串sStudName=“ram”; HttpClient=新的HttpClient(); client.BaseAddress=新Uri(StudentAPI); client.DefaultRequestHeaders.Accept.Add(新的MediaTypeWithQualityHeaderValue(“应用程序/json”);//这取决于您想要返回json还是XML var loginResp=client.postasjssonasync(StudentAPI,Log).Result; if(LoginRep.IsSuccessStatusCode) { //如果(loginResp==null) //{ var msg=loginResp.Content.ReadAsStringAsync(); obJson res=JsonConvert.DeserializeObject(loginResp.Content.ReadAsStringAsync().Result); 返回Json(Log,JsonRequestBehavior.AllowGet); //} //返回重定向(“/接纳/注册”); } 其他的 { } 返回视图(); } 看一看(它指的是JSON.net)

因此,在您的情况下,您应该尝试(如果可以使用JSON.net)


可能您需要
msg.Result
而不是
loginResp.Content.ReadAsStringAsync().Result
,因为否则您会尝试两次读取什么是
obJson
类?你能提供它的报关单吗?
var msg = ""; // Get json message as string                    
dynamic json = JObject.Parse(msg); 
// Do something with this JSON