C# 转换值时出错“;System.Collections.Generic.List`1[]";输入';WebApiTestDefinition.obJson';。路径'';,第1行,位置63
我试图反序列化json数据,但它显示了如下错误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
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