Ciao, ho un metodo di un'API che restituisce un array di oggetti.
Questa la chiamata in POST al metodo:
codice:WebClient client = new WebClient(); Classe dati_input = new Classe(); client.Headers.Add("Content-Type", "application/x-www-form-urlencoded"); byte[] byteArray = Encoding.ASCII.GetBytes(dati_input); byte[] responseArray = client.UploadData(uriString, "POST", byteArray); string dati_temp = Encoding.ASCII.GetString(responseArray); ClasseOutput classe_output = JsonConvert.DeserializeObject<ClasseOutput>(dati_temp); <<--- PROBLEMA
Ora, l'oggetto <classe_output> non riesce ad essere valorizzato dalla serializzazione.
Il JSON che viene restituito dalla chiamata è:
codice:{ "IFAGE00201": { "UTERET_profilo_rete_comm": "IFAGE00201", "DTAIAR_data_da": "20180101", "DTAFAR_data_a": "20491231", "QALRET_qualifica_rete": "COL", "CDCLAR_cod_controparte": "AGE002", "ndg_cdclar": "", "RASOC_ragione_sociale": "AGENTE SPECIAL FASCIA 1", "FILARE_filiale": "01", "CDLIAR_cod_controp_liquid": "AGE002", "ndg_cdliar": "", "UTPDAR_utente_padre": "IFIFI00101", "ndg_utpdar": "", "GRURET_gruppo_appartenenza": "", "AIREC_abilitato_caricamento": "S", "ACFRE_abilitato_caricamento_figli": "", "dataRif": "20201010", "XCDRES_responsabile": "AP", "listaProdottiAbilit": "C2,CA,CB,CC,CF,CH,CI,CN,DA,DB,DC,DH,DI,FI,PE,PN,PR,PS,PT,PU", "obbligoFinanziato": "" } }
E' un array di oggetti.
Domanda: perchè il metodo DeserializeObject non riesce a deserializzarlo ?
Dice che il formato del json non è valido.
Ho provato anche con un array di stringhe (string[]) ma niente, non capisce il JSON.
Devo eliminare qualche parentesi o metterci quelle quadre ?
Ho provato anche:
List<ClasseOutput> classe_output = JsonConvert.DeserializeObject<List<ClasseOutput>>(dati_temp);
ma nulla.

Rispondi quotando