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.