【发布时间】:2020-11-07 07:38:51
【问题描述】:
我有一个通过 API 发送的 Json 对象列表:
{
"Pr": {
"ClientProfil": {
"IdClient": 67,
"FirmName": null,
"NumMember": "OPTOO111",
"FirstName": "EL MONAGI",
"LastName": "ABDELJALIL",
"Email": "jalil_monagi@yahoofr",
"Adress": "7795 10eme avenue",
"City": "Montréal",
"Province": "QC",
"Country": "CA",
"Postalcode": "H2A3B3",
"Tel": "438 995 6475",
"PreferredLanguage": "fr"
},
"Programm": {
"IdProgramm": 9,
"Designation": "OPTO",
"CreationDate": "2020-01-01T00:00:00",
"SuppressionDate": null,
"RenewDate": "2021-01-04T00:00:00",
"StartDate": null,
"IsRenewDate": true
}
}
在前台我使用下面的代码
public async Task<ActionResult> Authentificate(FormCollection form)
{
HttpClient client = autentificate();
string userCodePwd = form["fCode"].ToString() + ":" + form["lPwd"].ToString();
userCodePwd = Convert.ToBase64String(Encoding.Default.GetBytes(userCodePwd));
//var decodedAuthenticationToken = Encoding.UTF8.GetString(Convert.FromBase64String(userCodePwd));
HttpResponseMessage response = client.GetAsync("api/Login/FindPolice?userCodePasswordArray=" + userCodePwd).Result;
try
{
if (response.IsSuccessStatusCode)
{
string Result = await response.Content.ReadAsStringAsync();
JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
dynamic dobj = jsonSerializer.Deserialize<dynamic>(Result);
int StatusCode = (int)response.StatusCode;
if (StatusCode==200) // Existe une assurance pour le client
{
int StatusRequest = dobj["StatusRequest"];
if (StatusRequest==1001)
{
int IdProgram = dobj["IdProgram"];
RootAQII.Profil= JsonConvert.DeserializeObject<Profil>(dobj["Pr"].ToString());
RootAQII.Programm= JsonConvert.DeserializeObject<List<Programm>>(dobj["Programm"].ToString());
if (IdProgram==9)
{
return RedirectToAction("Index", "OPTO");
}
}
}
}
else
{
}
}
catch (Exception e)
{
String message = e.Message;
}
return View();
}
问题是当我尝试解析 RootOPTOASSURED.Profil 的响应结果时
我收到此消息错误:
解析值时遇到意外字符:s。路径'',行 0,位置 0。
有人有任何想法提前谢谢你:)
【问题讨论】:
-
我认为您的文本格式不正确。你可以设置一个断点并发布你得到的 json 和你发送的 json 吗?
标签: c# json webapi response.contenttype