У меня проблема с десериализацией json с json newtonsoft. Он не может десериализовать все параметры объекта при вызове API. Ниже приведен весь мой код. Как вы можете видеть с постапи, пчелы правильно отвечают на все параметры, это когда десериализует, кто теряет параметр.Потеря параметра в десериализации с помощью Json.NewSofton C# Формы Xamarin
newtonsoft JSON декодирования:
var response = await request.GetResponseAsync();
var stream = response.GetResponseStream();
StreamReader reader = new StreamReader(stream);
var xml = reader.ReadToEnd();
String indexof = xml.Substring(76, xml.Length - 85);
USR_User_ReturnList = JsonConvert.DeserializeObject<List<OBJ_User>>(indexof);
объект класса:
public class OBJ_User
{
public int DLR_Id { get; set; }
public string DLR_Username { get; set; }
public string DLR_Password_Hash { get; set; }
public object DLR_Nome { get; set; }
public string DLR_Cognome { get; set; }
public int DLR_Tipo { get; set; }
public string DLR_Azienda { get; set; }
public object DLR_Telefono { get; set; }
public object DLR_Email { get; set; }
public int DLR_Abilitato { get; set; }
public object DLR_Time_Zone { get; set; }
public object DLR_Country { get; set; }
public string DLR_Culture { get; set; }
public object DLR_Email1 { get; set; }
public object DLR_MCC_Modello_Alias { get; set; }
public object DLR_Anagrafica { get; set; }
public object DLR_Firma { get; set; }
public bool IsFIMAP { get; set; }
public bool IsSTANDARD { get; set; }
public bool IsDealerOrFimap { get; set; }
public object DLR_Tipo_Esteso { get; set; }
public object DLR_Abilitato_Esteso { get; set; }
}
IndexOf JSON из StreamReader, из кода:
[{"DLR_Id":15,"DLR_Username":"dealer02","DLR_Password_Hash":"P4ssw0rd2","DLR_Nome":null,"DLR_Cognome":"Rossi2","DLR_Tipo":0,"DLR_Azienda":"AziendaRossi2","DLR_Telefono":null,"DLR_Email":null,"DLR_Abilitato":1,"DLR_Time_Zone":null,"DLR_Country":null,"DLR_Culture":"","DLR_Email1":null,"DLR_MCC_Modello_Alias":null,"DLR_Anagrafica":null,"DLR_Firma":null,"IsFIMAP":false,"IsSTANDARD":false,"IsDealerOrFimap":true,"DLR_Tipo_Esteso":null,"DLR_Abilitato_Esteso":null}]
IndexOf от почтальона (правильный ответ), от API :
[{"DLR_Id":15,"DLR_Username":"dealer02","DLR_Password_Hash":"P4ssw0rd2","DLR_Nome":null,"DLR_Cognome":"Rossi2","DLR_Tipo":0,"DLR_Azienda":"AziendaRossi2","DLR_Telefono":null,"DLR_Email":null,"DLR_Abilitato":1,"DLR_Time_Zone":null,"DLR_Country":null,"DLR_Culture":"","DLR_Email1":null,"DLR_MCC_Modello_Alias":null,"DLR_Anagrafica":null,"DLR_Firma":null,"IsFIMAP":false,"IsSTANDARD":false,"IsDealerOrFimap":true,"DLR_Tipo_Esteso":null,"DLR_Abilitato_Esteso":null}]
потерял этот параметр: IsDealerOrFimap
я испытал с http://json.parser.online.fr/ JSON и работает, преобразование является правильным, но из кода я потерял один параметр IsDealerOrFimap.
Список правильный riempieta me, но все элементы в списке не имеют параметра IsDealerOrFimap, теряет его ... почему?
К сожалению, мне нужны все параметры, кроме одного (IsDealerOfFimap), и не может понять, почему ... у кого-нибудь есть какое-либо решение?
решение я судимое формат андроид устройства и теперь работает правильно. мистерия!
Что значит «потерял этот параметр», если он находится в обоих ответах? –
, и он правильно десериализуется с кодом –
Я имею в виду, что когда я конвертирую из json в список C#, я получаю все десериализованные объекты должным образом, но не заполняет параметр IsDealerOrFimap, так что отладка говорит мне несуществующий параметр. –