У меня проблемы с десериализацией JSON в соответствующий объект C #.
Мой сервер возвращает допустимый JSON: {"success":false,"message":"Please enter a valid Email Address."}
Мой сервер использует проект Laravel и код для возврата JSON:
return response()->json(['success' => false, 'message' => 'Please enter a valid Email Address.']);
Ошибка: «Инициализатор типа для« Newtonsoft.Json.Utilities.JavaScriptUtils »вызвал исключение».
Это происходит с различными версиями Newtonsoft.Json, включаяпоследний (11.0.2) и возвращающийся до 7.0.1.Раньше такой ошибки не было, но сегодня я обновил формы Xamarin (3.0.0.550146).
Информация об исключении здесь: https://pastebin.com/GWPJdj6T Строка 81 - это вызов JsonConvert.DeserializeObject
public class RegisterResponse
{
[JsonProperty("success")]
public bool Success { get; set; }
[JsonProperty("message")]
public string Messsage { get; set; }
}
public static async Task<string> RequestAccessCode(string email) {
try {
using (var client = new HttpClient()) {
var response = await client.PostAsync(baseAddress + requestAccess, new FormUrlEncodedContent(new[] {
new KeyValuePair<string, string>("email", email.Trim())
}));
var responseContent = await response.Content.ReadAsStringAsync();
var result = JsonConvert.DeserializeObject<RegisterResponse>(responseContent);
return result.Messsage;
}
}
catch (Exception exception) {
return exception.FormatExceptionInfo(false);
}
}