Nel mio codice devo JSON serializzare un oggetto CookieCollection e passarlo come stringa, per raggiungere questo mi piace questo:deserializzare un JSON CookieCollection serializzato
var json = Newtonsoft.Json.JsonConvert.SerializeObject(resp.Cookies);
risultante al seguente JSON
[
{
"Comment": "",
"CommentUri": null,
"HttpOnly": false,
"Discard": false,
"Domain": "www.site.com",
"Expired": true,
"Expires": "1970-01-01T03:30:01+03:30",
"Name": "version",
"Path": "/",
"Port": "",
"Secure": false,
"TimeStamp": "2015-06-01T12:19:46.3293119+04:30",
"Value": "deleted",
"Version": 0
},
{
"Comment": "",
"CommentUri": null,
"HttpOnly": false,
"Discard": false,
"Domain": ".site.com",
"Expired": false,
"Expires": "2015-07-31T12:19:48+04:30",
"Name": "ADS_7",
"Path": "/",
"Port": "",
"Secure": false,
"TimeStamp": "2015-06-01T12:19:46.3449217+04:30",
"Value": "0",
"Version": 0
}
]
deserializzare questo jSON ho voluto fare qualcosa di simile:
var cookies = Newtonsoft.Json.JsonConvert.DeserializeObject<CookieCollection>(json);
ma fallisce e sollevare JsonSerializationException dicendo
Impossibile creare e popolare nell'elenco Tipo System.Net.CookieCollection. Percorso '', riga 1, posizione 1.
Così ho cambiato il mio codice di seguito e la sua ora di lavoro
var tmpcookies = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Cookie>>(json);
CookieCollection cookies = new CookieCollection();
tmpcookies.ForEach(cookies.Add);
Mi chiedo solo perché il mio primo tentativo fallisce? e se c'è un modo migliore per farlo.
Come http://stackoverflow.com/questions/27449717/newtonsoft-json-cannot-create-and-populate-list-type dice ... Prova ad utilizzare la Lista invece di CookieCollection. Puoi convertirlo in lista per Lista cookieList = cookieCollection.OfType () .ToList(); –
@PaulZahra L'ho già in lista! la mia domanda è perché questo 'Newtonsoft.Json.JsonConvert.DeserializeObject (json);' fallisce! –
HadiRj
Come sono cookie CookieCollection = new CookieCollection(); lo stesso di Lista? –